JDBC一组规范,接口(使用jdbc可以连接提供Jdbc驱动程序的数据库系统)
Driver接口:java.sql.Driver 接口是所有JDBC驱动程序需要实现的接口。这个接口是提供给数据库厂商使用的,不同的数据库厂商提供不同的实现。在程序中不需要直接访问Driver 接口的类,而是有驱动程序管理器类(Java.sql.DriverManager)驱动用这些Driver实现
public void test() throws SQLException {
// 1.创建driver 的实现类对象
Driver driver = new com.mysql.jdbc.Driver();
// 2.准备连接数据库的基本信息:url,user,password
String url = "jdbc:mysql://localhost:3306/testdb";
Properties info = new Properties();
info.put("user", "root");
info.put("password", "123456");
// 3.调用Driver接口的connect(url,info);获取数据库连接
Connection connection = driver.connect(url, info);
}
test2:
1.编写通用方法,在不修改源程序的情况下可以获取任何数据库的方法。
2.解决方案:把Driver全类名,url,user,password放在一个配置文件中。
注意:读取类路径下的jdbc.properties文件
driverClass =com.mysql.jdbc.Driver
url =jdbc:mysql://localhost:3306/testdb
user =root
password =123456
/**
* 编写一个通用的方法, 在不修改源程序的情况下, 可以获取任何数据库的连接
* 解决方案: 把数据库驱动 Driver 实现类的全类名、url、user、password 放入一个
* 配置文件中, 通过修改配置文件的方式实现和具体的数据库解耦.
* @throws Exception
*/
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 的 connect 方法获取数据库连接.
Connection connection = driver.connect(jdbcUrl, info);
return connection;
}