2021年5月23日星期日

Java JDBC 连接 MySQL8 数据库

MySQL 8.0 以上版本的数据库连接有所不同:

  • 1、MySQL 8.0 以上版本驱动包版本 mysql-connector-java-8.0.16.jar。

  • 2、com.mysql.jdbc.Driver 更换为 com.mysql.cj.jdbc.Driver

  • MySQL 8.0 以上版本不需要建立 SSL 连接的,需要显示关闭。

  • allowPublicKeyRetrieval=true 允许客户端从服务器获取公钥。

  • 最后还需要设置 CST。

加载驱动与连接数据库方式如下:

Class.forName("com.mysql.cj.jdbc.Driver");conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test_demo?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC","root","password");
package com.runoob.test; import java.sql.*;//java项目www.fhadmin.orgpublic class MySQLDemo {  // MySQL 8.0 以下版本 - JDBC 驱动名及数据库 URL static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";  static final String DB_URL = "jdbc:mysql://localhost:3306/RUNOOB";  // MySQL 8.0 以上版本 - JDBC 驱动名及数据库 URL //static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";  //static final String DB_URL = "jdbc:mysql://localhost:3306/RUNOOB?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC";  // 数据库的用户名与密码,需要根据自己的设置 static final String USER = "root"; static final String PASS = "123456";  public static void main(String[] args) {  Connection conn = null;  Statement stmt = null;  try{   // 注册 JDBC 驱动   Class.forName(JDBC_DRIVER);     // 打开链接   System.out.println("连接数据库...");   conn = DriverManager.getConnection(DB_URL,USER,PASS);     // 执行查询   System.out.println(" 实例化Statement对象...");   stmt = conn.createStatement();   String sql;   sql = "SELECT id, name, url FROM websites";   ResultSet rs = stmt.executeQuery(sql);     // 展开结果集数据库   while(rs.next()){    // 通过字段检索    int id = rs.getInt("id");    String name = rs.getString("name");    String url = rs.getString("url");     // 输出数据    System.out.print("ID: " + id);    System.out.print(", 站点名称: " + name);    System.out.print(", 站点 URL: " + url);    System.out.print("\n");   }   // 完成后关闭   rs.close();   stmt.close();   conn.close();  }catch(SQLException se){   // 处理 JDBC 错误   se.printStackTrace();  }catch(Exception e){   // 处理 Class.forName 错误   e.printStackTrace();  }finally{   // 关闭资源   try{    if(stmt!=null) stmt.close();   }catch(SQLException se2){   }// 什么都不做   try{    if(conn!=null) conn.close();   }catch(SQLException se){    se.printStackTrace();   }  }  System.out.println("Goodbye!"); }}

 


 








原文转载:http://www.shaoqun.com/a/757783.html

跨境电商:https://www.ikjzd.com/

bap:https://www.ikjzd.com/w/1492

epc:https://www.ikjzd.com/w/488


MySQL8.0以上版本的数据库连接有所不同:1、MySQL8.0以上版本驱动包版本mysql-connector-java-8.0.16.jar。2、com.mysql.jdbc.Driver更换为com.mysql.cj.jdbc.Driver。MySQL8.0以上版本不需要建立SSL连接的,需要显示关闭。allowPublicKeyRetrieval=true允许客户端从服务器获取公钥。最后
跨国采购网:https://www.ikjzd.com/w/2270.html
stylenanda:https://www.ikjzd.com/w/1675.html
网络星期一:https://www.ikjzd.com/w/80
亚马逊的坑,选品失误,导致的库存滞销:https://www.ikjzd.com/articles/134804
男人撕开奶罩揉吮奶头 我都说疼了他还在继续:http://www.30bags.com/a/249804.html
主人不要塞了啊好涨啊 女神很满足:http://lady.shaoqun.com/a/274719.html

没有评论:

发表评论