通过Driver接口获取数据库连接【佟刚版】
一、前序
1、JDBC API是一系列的接口
1- Driver--Connection--Statement--Result
二、通过Driver接口获取数据库连接
1、搭建步骤:
1- 创建一个包,创建一个工具类
2- 加入oracle驱动:
* 1.首先在项目目录下建立一个lib文件夹,添加驱动
* 2.在Oracle安装目录下找到ojdbcd的驱动
* 3.右击build-path下,add to buildpath添加到类根目录下
3、编码具体如下:
package com.stomost.jdbc;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.Driver;
import java.sql.SQLException;
import java.util.Properties;
import oracle.jdbc.OracleDriver;
import org.junit.Test;
public class JDBCTest {
/**
* Driver是一个接口,数据库厂商必须提供实现的接口,能从中获取数据库。
* 可以通过Driver的实现类对象获取数据库连接。
*
* @throws SQLException
*/
@Test
public void testDriver() throws SQLException {
//1、创建一个Driver实现类对象
Driver driver = new OracleDriver();
//2、准备连接数据库的基本信息:url、user、password
String url = "jdbc:oracle:thin:@localhost:1521:orcl"; //链接字符串
Properties info = new Properties();
info.put("user","point");
info.put("password","789");
//3、调用Driver 接口的 connect(url,info)获取数据库连接
Connection connection=driver.connect(url, info);
System.out.print(connection);
}
}
2、解耦修改
1、需求修改:
/**
* 编写一个通用的方法,在不修改程序的情况下,可以获取任何数据库的连接
* 解决方案:
* 1-把数据库驱动Driver,实现类的全类名、url、user、password放入一个配置文件中,
* 2-通过修改配置文件的方式实现和具体的数据库解耦
* @throws Exception
*/
2、编码如下:
public Connection getConnection() throws Exception{
String driverClass = null;
String jdbcUrl = null;
String user = null;
String password = null;
//读取类路径下的jdbc.properties文件
InputStream in = getClass().getClassLoader().getResourceAsStream("jdbc.properties");
Properties properties = new Properties();
properties.load(in);
driverClass = properties.getProperty("driver");
jdbcUrl = properties.getProperty("jdbcUrl");
user = properties.getProperty("user");
password = properties.getProperty("password");
//通过反射常见Driver对象
Driver driver = (Driver)Class.forName(driverClass).newInstance();
Properties info = new Properties();
info.put("user", user);
info.put("password", password);
//通过Driver的connction方法获取数据库
Connection connection =driver.connect(jdbcUrl, info);
return connection;
}
@Test
public void testGetConnection() throws Exception{
System.out.println(getConnection());
}
porperties文件
driver=oracle.jdbc.driver.OracleDriver
jdbcUrl=jdbc:oracle:thin:@localhost:1521:orcl
user=point
password=789
第一次写,希望朋友们指点一下。如果有哪里不明白的,可以留言,谢谢大家