欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java连接MySql之路

程序员文章站 2024-01-27 12:00:04
...

 

       最近想了解一点这方面的知识,于是自己就去装了一个MySql,原因在于听说MySql比较简单一点,然后呢开源免费。先插上两张图在说话

Java连接MySql之路Java连接MySql之路

                       (a)                                                                                              (b)

        我装的MySql是最新的8.0.19,环境变量的配置就不说了,在命令行是可以工作的,我在局域网的另外一台机器上装了Navicat也是可以正常操作该服务器的。在用java连接数据库的路上出现了一些插曲。我用C#也试了,也出现问题。在这记录一下这些问题。

        

        首先的我需要贴上代码。

    public static void main(String[] args){
        System.out.println("开始连接...");
        Connection con = null;
        String driver = "com.mysql.cj.jdbc.Driver";
        String URL= "jdbc:mysql//localhost:3306/run";
        String user = "root";
        String password = "xy123456";
        try{
            Class.forName(driver);
            System.out.println("连接数据库...");
            con = DriverManager.getConnection(URL,user,password);
            System.out.println("连接成功");
        }catch(Exception e){
            e.printStackTrace();
        }
    }

       上述代码是存在问题的,稍后再说。代码写好了,在连接数据库之前还需要一样东西,就是连接服务器的驱动,就是图a中的mysql驱动。驱动有很多个版本,建议是和数据库同一个版本,我开始用的不是一个版本,在测试的时候也能连接同事的数据库。所以说是建议同个大版本。

        https://www.cnblogs.com/taoweiji/archive/2012/12/11/2812295.html 这里介绍了装驱动的方法。

         准备结束,执行程序。出错如下:

         Java连接MySql之路

        然后就只好google了,下面是我翻出来的一些方法。基本上都说是三个问题:
        一是:连接URL格式出现了问题(Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/XX","root","XXXX")
        二是:驱动字符串出错(com.mysql.jdbc.Driver)
        三是:没装或者装错了驱动

        很自信的越过了第一条和第二条,然后就在第三条上死磕,显示我是装了驱动,版本不对?于是下载新的驱动,还是不行。驱动装的方式不对?各种装驱动的方法都试了还是不行。我甚至重装了MySql。最后的最后发现上述代码中的url是不对的,在mysql后面少了个:。然并还是涛声依旧。然后我将url写成如下:

        String URL= "jdbc:mysql//localhost:3306/run?useSSL=false&serverTimezone=UTC";完美连接了

        经过几次测试发现 serverTimezone=UTC 这个设置不能少,当然不同版本的数据库设置可能不同。UTC代表的是全球标准时间 ,但是我们使用的时间是北京时区也就是东八区,领先UTC八个小时。最后的代码如下

    public static void main(String[] args){
        System.out.println("开始连接...");
        Connection con = null;
        String driver = "com.mysql.cj.jdbc.Driver";
        String URL= "jdbc:mysql://localhost:3306/run?useSSL=false&serverTimezone=UTC";
        String user = "root";
        String password = "xy123456";
        try{
            Class.forName(driver);
            System.out.println("连接数据库...");
            con = DriverManager.getConnection(URL,user,password);
            System.out.println("连接成功");
        }catch(Exception e){
            e.printStackTrace();
        }
    }

             执行通过

             Java连接MySql之路

             

 

 

 

 

 

 

 

 

 

           

相关标签: MySql Java