• JDBC连接Mysql8.0失败解决方法


    说来也惭愧,虽说装了mysql8,我却还在尝试用N年前链接Mysql5的JDBC做尝试,脑子着实有问题。

    一.加载JAR包:

    在你的项目中新建一个lib的文件夹,将下载好的jar包复制到lib文件夹中,右键点击jar包->Buid Path->Add Buid Path.

    二.5.0.X版本与8.0.X版本的区别:

    1. 5.0.X版本连接的驱动地址为:"com.mysql.jdbc.Driver",而8.0.X版本的更改为:"com.mysql.cj.jdbc.Driver"

    2. 建立连接时url增加了一些参数: 5.0.X版本的url为String url = "jdbc:mysql://localhost:3306/student"

    而8.0.X版本的需要在后面加上一串字母变为:String url = "jdbc:mysql://local:3306/student?&useSSL=false&serverTimezone=UTC"

    三.连接数据库读取数据

    用Navicat Premium中建一张数据表


    java连接数据库代码:
    package mysql.test;

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.Statement;
    import java.sql.ResultSet;
    import java.sql.SQLException;

    /**
     * 
     * @author: Doomed
     * @date: 2018/7/20
     * @place: usth
     *
     */
    public class MysqlDemo {
        public static void main(String[] args){
        // 加载数据库驱动  com.mysql.jdbc.Driver
            String driver = "com.mysql.cj.jdbc.Driver";
            // 获取mysql连接地址
           String url = "jdbc:mysql://localhost/student?&useSSL=false&serverTimezone=UTC";
            // 数据名称
           String username = "root";
            // 数据库密码
            String password = "123456";
            // 获取一个数据的连接
            Connection conn = null;
            // 获取连接的一个状态
            try{
                Class.forName(driver);
                //getConnection()方法,连接MySQL数据库!
                conn=DriverManager.getConnection(url,username,password);
                if(!conn.isClosed())
                System.out.println("数据库连接成功!");
                 //创建statement类对象,用来执行SQL语句!
                Statement Statement=conn.createStatement();
                //要执行的SQL语句
                String sql="select * from info" ;
                //ResultSet类,用来存放获取的结果集!
                ResultSet rs=Statement.executeQuery(sql);
                 System.out.println("-------------------------------");
                 System.out.println("执行结果如下所示:");  
                 System.out.println("-------------------------------");  
                 System.out.println("学号" + " " + "姓名"+" ");  
                 System.out.println("-------------------------------");  
                 String id=null;
                 String name=null;
                 while(rs.next()){
                    //获取‘学号’这列数据
                     id=rs.getString("number");
                     //获取‘姓名’这列数据
                    name=rs.getString("name");
                    //输出结果
                    System.out.println(id+" "+name+" ");
                 }
                 rs.close();
                 conn.close();
             }
             catch(ClassNotFoundException e){
                 //数据库驱动类异常处理
            System.out.println("数据库驱动加载失败!");
            e.printStackTrace();
             }
            catch(SQLException e1){
            //数据库连接失败异常处理
             e1.printStackTrace();
            }
            catch(Exception e2){
            e2.printStackTrace();
            }
            finally{
                 System.out.println("-------------------------------");  
                System.out.println("数据库数据获取成功!");
            }
            }
    }

    执行结果:


     

        (总结一句话:新版的就是事多)

     
    原文链接:https://blog.csdn.net/sinat_41721615/article/details/84346249

  • 相关阅读:
    七牛云同步脚本:qshell工具的使用
    JMS微服务架构 关于事务提交失败,自动重新提交的机制
    pve服务器内网同步时钟
    Doris 高可用集群的部署
    黑苹果(Hackintosh) 安装1:用 VMware pro 16 安装 Big Sur 11.6
    虚拟机安装 Win10 ,无法启动,报错EFI Network ... Time out
    黑苹果(Hackintosh) 问题,修改CPU数量和内存数量后,系统重启失败
    【ElasticSearch】docker安装es7.12.1,设置xpack密码
    【鉴黄】nsfw鉴黄
    【Redis】redis集群
  • 原文地址:https://www.cnblogs.com/YFEYI/p/12316823.html
Copyright © 2020-2023  润新知