1、Java连接MySQL8.0以上版本数据库方式
1、com.mysql.jdbc.Driver 更换为 com.mysql.cj.jdbc.Driver
2、MySQL 8.0 以上版本不需要建立 SSL 连接的,需要显式关闭。
jdbc:mysql://localhost:3306/数据库名?useSSL=false&serverTimezone=UTC
3、 8.0版本的mysql数据的连接 与 5.0的有所不同,下面直接贴出 8.0版本应该有的 jdbc驱动连接,还有 mysql 的jdbc jar包要8.0以上的
<!-- mysql驱动包依赖 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.11</version>
</dependency>
jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=localhost:3306/数据库名?useSSL=false&serverTimezone=UTC
jdbc.username=root
jdbc.password=root
4.测试连接是否成功
import java.sql.*;
/**
* @创建人: 鲜耀
* @项目名: SSMDemo
* @创建时间: 2019/10/13 13:59
* @描述:
*/
public class Test {
private static Test JDBCUtlTool;
public static Connection getConnection(){
String driver="com.mysql.cj.jdbc.Driver"; //获取mysql数据库的驱动类
String url="jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC"; //连接数据库(test是数据库名)
String name="";//连接mysql的用户名
String pwd="";//连接mysql的密码
try{
Class.forName(driver);
Connection conn=DriverManager.getConnection(url,name,pwd);//获取连接对象
return conn;
}catch(ClassNotFoundException e){
e.printStackTrace();
return null;
}catch(SQLException e){
e.printStackTrace();
return null;
}
}
public static void closeAll(Connection conn,PreparedStatement ps,ResultSet rs){
try{
if(rs!=null){
rs.close();
}
}catch(SQLException e){
e.printStackTrace();
}
try{
if(ps!=null){
ps.close();
}
}catch(SQLException e){
e.printStackTrace();
}
try{
if(conn!=null){
conn.close();
}
}catch(SQLException e){
e.printStackTrace();
}
}
public static void main(String[] args) throws SQLException
{
Connection cc= getConnection();
if(!cc.isClosed())
System.out.println("Succeeded connecting to the Database!");
Statement statement = cc.createStatement();
String sql = "select * from tb_user";
ResultSet rs = statement.executeQuery(sql);
while(rs.next()) {
System.out.println(rs.getString("id")+"");
}
}
}