title: java连接mysql8.0问题
date: 2018-07-08 19:27:38 updated: tags: description: keywords: comments: image: --- 才解决完mysql8.0远程访问的问题,今天测试java连接又出问题了,虽然使用了8.0的jdbc但是死活连接不上,一度以为是加密方式的问题,后来才发现使用以前的连接方式确实不行了.jdbc
首先附上jdbc 的jar文件下载地址:https://dev.mysql.com/downloads/file/?id=477057
下载后将jdbc building path
连接代码
附上连接测试代码
package mysqltest;import java.sql.Connection;import java.sql.DriverManager;/** * 数据库工具类 * @author Administrator * */public class DbUtil { private String dbUrl="jdbc:mysql://localhost:3306/db_msdz?useSSL=FALSE&serverTimezone=UTC"; // 数据库连接地址 private String dbUserName="root"; // 用户名 private String dbPassword="997997"; // 密码 private String jdbcName="com.mysql.cj.jdbc.Driver"; // 驱动名称 /** * 获取数据库连接 * @return * @throws Exception */ public Connection getCon()throws Exception{ Class.forName(jdbcName); Connection con=DriverManager.getConnection(dbUrl, dbUserName, dbPassword); return con; } /** * 关闭数据库连接 * @param con * @throws Exception */ public void closeCon(Connection con)throws Exception{ if(con!=null){ con.close(); } } public static void main(String[] args) { DbUtil dbUtil=new DbUtil(); try { dbUtil.getCon(); System.out.println("数据库连接成功!"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); System.out.println("数据库连接失败"); } }}
请自行修改测试
与jdbc5.0的差异
mysql8.0需要使用8.0的jdbc 且url和驱动名称都有改变,具体为
private String jdbcName="com.mysql.jdbc.Driver";
变为private String jdbcName="com.mysql.cj.jdbc.Driver";
private String dbUrl="jdbc:mysql://localhost:3306/db_msdz";
变为private String dbUrl="jdbc:mysql://localhost:3306/db_msdz?useSSL=FALSE&serverTimezone=UTC";
这个链接添加了时区
后记
如果还不明白可以参考csdn的博主:,有操作动图方便小白理解