JavaWeb —— JDBC Driver驱动及连接问题

一、JDBC驱动版本及连接

com.mysql.jdbc.Driver 连接MySQL 5版本  是用 mysql-connector-java-5.***.jar

 1 //MySQL5.0连接
 2  //注册数据库驱动
 3  Class.forName("com.mysql.jdbc.Driver");
 4  //通过DriverManager获取数据库连接
 5  String url = "jdbc:mysql://localhost:3306/test?characterEncoding=utf-8";
 6  String user = "root";
 7  String password = "******";
 8  con = DriverManager.getConnection(url, user, password);
 9  //通过Connection对象获取Statement对象
10  st = con.createStatement();
11  //使用Statement对象执行SQL语句
12  String sql = "select * from goods";
13  rs = st.executeQuery(sql);

com.mysql.cj.jdbc.Driver 连接MYSQL 6及以上版本  是用mysql-connector-java-6.***.jar 或 6以上的jar包

 1 //MySQL8.0连接
 2 //注册数据库驱动
 3 Class.forName("com.mysql.cj.jdbc.Driver");
 4 /通过DriverManager获取数据库连接
 5 String url = "jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=Hongkong&characterEncoding=utf-8&autoReconnect=true";
 6 String user = "root";
 7 String password = "******";
 8 con = DriverManager.getConnection(url, user, password);
 9 //通过Connection对象获取Statement对象
10 st = con.createStatement();
11 //使用Statement对象执行SQL语句
12 String sql = "select * from goods";
13 rs = st.executeQuery(sql);

二.、MySQL连接问题

1 String url = "jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=Hongkong&useUnicode=true&characterEncoding=utf-8&autoReconnect=true";

若不是用SSL连接,通过设置useSSL=false禁用;若需要是用SSL连接,为服务器证书验证提供信任库,设置useSSL=true

serverTimezone时区设置,在中国可以设置serverTimezone=Shanghai或serverTimezone=Hongkong不设置会出现错误

useUnicode=true&characterEncoding=utf-8 指定字符的编码、解码格式

autoReconnect=true 数据库连接异常中断时,自动重新连接

原文地址:https://www.cnblogs.com/chaunceyji/p/14853345.html