一、JDBC
JDBC(Java Database Connectivity)是一个独立于特定数据库管理系统、通用的SQL数据库存取和操作的公共接口(一组API)。简单理解为JDBC是SUN提供的一套 API,使用这套API可以实现对具体数据库的操作(获取连接、关闭连接、DML、DDL、DCL)。
二、JDBC实现数据库连接的五种方式
public class ConnectionTest {
//方式一
@Test
public void testConnection1() throws SQLException {
//获取Driver实现类对象
Driver driver = new com.mysql.jdbc.Driver();
String url = "jdbc:mysql://localhost:3306/test";
Properties info = new Properties();
info.setProperty("user","root");
info.setProperty("password","root");
Connection connection = driver.connect(url,info);
System.out.println(connection);
}
//方式二
@Test
public void testConnection2() throws ClassNotFoundException, IllegalAccessException, InstantiationException, SQLException {
//获取Driver实现类对象,使用反射
Class clazz = Class.forName("com.mysql.jdbc.Driver");
Driver driver = (Driver) clazz.newInstance();
//提供要连接的数据库
String url = "jdbc:mysql://localhost:3306/test";
//提供要连接的数据库的用户名和密码
Properties info = new Properties();
info.setProperty("user","root");
info.setProperty("password","root");
//获取连接
Connection connection = driver.connect(url,info);
System.out.println(connection);
}
//方式三:使用DriverManager替换Driver
@Test
public void testConnection3() throws ClassNotFoundException, IllegalAccessException, InstantiationException, SQLException {
//获取Driver实现类对象,使用反射
Class clazz = Class.forName("com.mysql.jdbc.Driver");
Driver driver = (Driver) clazz.newInstance();
//提供要连接的数据库地址、数据库的用户名和密码
String url = "jdbc:mysql://localhost:3306/test";
String user = "root";
String password = "root";
//注册驱动
DriverManager.registerDriver(driver);
//获取连接
Connection connection = DriverManager.getConnection(url, user, password);
System.out.println(connection);
}
//方式四:只是加载驱动,不用显示的注册驱动
@Test
public void testConnection4() throws ClassNotFoundException, SQLException {
//1、提供要连接的数据库地址、数据库的用户名和密码
String url = "jdbc:mysql://localhost:3306/test";
String user = "root";
String password = "root";
//2、加载Driver,可以省略注册驱动这一步,因为在MySQL的Driver实现类中,有一个静态代码块,实现了注册驱动
Class.forName("com.mysql.jdbc.Driver");
// Driver driver = (Driver) clazz.newInstance();
// //注册驱动
// DriverManager.registerDriver(driver);
//3、获取连接
Connection connection = DriverManager.getConnection(url, user, password);
System.out.println(connection);
}
//方式五:将数据库连接需要的4个基本信息声明在配置文件中,通过读取配置文件的方式获取连接。这样只需要修改配置文件,实现了数据与代码的分离
@Test
public void testConnection5() throws IOException, ClassNotFoundException, SQLException {
//1、读取配置文件中的4个基本信息
InputStream resourceAsStream = ConnectionTest.class.getClassLoader().getResourceAsStream("jdbc.properties");//类的加载器的一个主要方法getResourceAsStream() ,可以获取类路径下的指定文件的输入流
Properties properties = new Properties();
properties.load(resourceAsStream);
String user = properties.getProperty("user");
String password = properties.getProperty("password");
String url = properties.getProperty("url");
String driverClass = properties.getProperty("driverClass");
//2、加载驱动
Class.forName(driverClass);
//3、获取连接
Connection connection = DriverManager.getConnection(url, user, password);
System.out.println(connection);
}
}
版权声明:本文为qq_39794062原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。