- 学完java和mysql后我开始着手尝试用java连接数据库,因为是第一次,所以也就踩了几个坑,现在想分享给大家。
先贴图
package com.atguigu.connection;
import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
public class ConnectionTest{
public static void main(String[]args) throws ClassNotFoundException, SQLException {
Class.forName("com.mysql.cj.jdbc.Driver");
Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/sys?serverTimezone=UTC", "root", "123");
System.out.println(conn);
}
-
首先解释一下代码的含义
-
Class.forName()的意思是加载驱动
-
com.mysql.cj.jdbc.Driver是驱动类
-
Connection conn=DriverManager.getConnection(url,user,password);可以获得数据库连接。其中url的意思是统一资源定位符 ,其中jdbc是主协议,mysql是子协议,localhost是主机地址,sys是数据库名称;user的意思是你数据库的用户名,一般都是root;而password自然是你的数据库密码。
-
解释完毕,现在给大家分享一下我踩的两个坑
1.由于数据库类型过高,低版本的数据库加载的驱动类是com.mysql.jdbc.Driver,而我的驱动类是com.mysql.cj.jdbc.Driver。
2.也是由于数据库类型的问题,低版本的url是jdbc:mysql://localhost:3306/pubs(pubs是数据库名称的意思),而我的url是jdbc:mysql://localhost:3306/pubs?serverTimezone=UTC。