zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    web服务器-Apache
    nginx优化
    nginx下载限速
    nginx-URL重写
    HDU 5358 First One 求和(序列求和,优化)
    HDU 5360 Hiking 登山 (优先队列,排序)
    HDU 5353 Average 糖果分配(模拟,图)
    UVALive 4128 Steam Roller 蒸汽式压路机(最短路,变形) WA中。。。。。
    HDU 5348 MZL's endless loop 给边定向(欧拉回路,最大流)
    HDU 5344 MZL's xor (水题)
  • 原文地址:https://www.cnblogs.com/YFEYI/p/12316823.html
Copyright © 2011-2022 走看看