驱动Driver
首先值得说明一下,数据库的连接需要驱动,这是因为JDK只是提供了jdbc接口,而各个数据库厂商实现了这些接口,也就是我们所说的驱动,进而不同的数据库所使用的驱动也是不同的。例如:MySql数据库所使用的驱动是“com.mysql.cj.jdbc.Driver”,PostgreSQL所使用的驱动为“org.postgresql.Driver”等等。
获取一个数据库连接
import java.sql.*;
public class JDBCUtil {
/**
* @category 驱动
* @Fields driverName : TODO(驱动)
*/
private static String driverName = "com.mysql.cj.jdbc.Driver";//mysql版本的不同,需要使用不同的驱动
/**
* @category 数据库ip
* @Fields dataBaseIp : TODO(数据库ip)
*/
private static String dataBaseIp = "localhost";
/**
* @category 端口
* @Fields dataBasePort : TODO(端口)
*/
private static String dataBasePort = "3306";
/**
* @category 数据库名
* @Fields dataBaseName : TODO(数据库名)
*/
private static String dataBaseName = "table";
/**
* @category 用户名
* @Fields dataBaseName : TODO(用户名)
*/
private static String userName = "root";
/**
* @category 密码
* @Fields dataBaseName : TODO(密码)
*/
private static String passWord = "123456";
/**
* 获取一个数据库连接
* @return
*/
public static Connection getOneConnection(){
Connection connection= null;
try {
Class.forName(driverName); //classLoader,加载对应驱动
connection= DriverManager.getConnection("jdbc:mysql://"+JDBCUtil.dataBaseIp
+":"+JDBCUtil.dataBasePort+"/"+JDBCUtil.dataBaseName+"?serverTimezone=UTC",
JDBCUtil.userName, JDBCUtil.passWord);//获取数据库连接
} catch (SQLException throwables) {
throwables.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return connection;
}
}
值得说明的是,在DriverManager.getConnection()方法中,第一个参数为要访问数据库的地址。其中,不同的数据库使用的前缀不同,例如:MySql数据库使用的前缀就是“jdbc:mysql”,而PostgreSQL使用的就是“jdbc:postgresql”。