01、JDBC 教程 - 读取配置文件连接多种数据库的JDBC通用连接程序

JDBC基础

读取配置文件连接多种数据库的JDBC通用连接程序

持久化就是将数据从"掉电丢失"的内存保存到"掉电不丢失"的数据库的过程

数据库存取技术分为:

1、 JDBC直接访问数据库;
2、 JDO技术;
3、 第三方O/R工具,如:Hibernate,mybatis;

JDBC是其他技术的实现基石

JDBC是一个独立于特定数据库管理系统、通用的SQL数据库存取和操作的公共接口(一组API)

JDBC只是一种接口,各大数据库厂商提供该数据库的JDBC接口的实现,这就是该数据库的JDBC驱动

Driver是一个接口:数据库厂商必须实现的接口,能从其中获取数据库连接(Connection)

jdbc的连接url组成

1、 协议:子协议:子名称;
2、 jdbc:mysql://localhost:3306/test_database;
3、 jdbc:oracle:thin:@localhost:1521:orcl;
4、 jdbc就是协议,mysql/oracle就是子协议,其它的就是子名称;

从Driver实现类中获取数据库的连接

1. 导入mysql驱动之后
2. 代码

@Test
public void testDriver() throws SQLException{
    // 1. 创建一个Driver实现类的对象
    Driver driver = new com.mysql.jdbc.Driver();
    // 2. 准备连接数据库的基本信息:url、user、password
    String url = "jdbc:mysql://localhost:3306/test";
    Properties info = new Properties();
    info.put("user", "root");
    info.put("password", "123");
    // 3. 调用Driver接口的connect(url,info)获取数据库连接
    Connection connection = driver.connect(url, info);
    System.out.println(connection);
}

输出:com.mysql.jdbc.JDBC4Connection@763d9750

在获取连接之后就可以操作数据库中的数据了
但是以上代码和数据库实现类的耦合度太大

编写一个通用的方法,在不修改源代码的情况下,适配任何数据库的连接
需要把以上代码的Driver、url、user、password放入配置文件中

代码如下:

jdbc.properties文件内容:
driver=com.mysql.jdbc.Driver
jdbcUrl=jdbc:mysql://localhost:3306/test
user=root
password=123

@Test
public void testDriver() throws Exception {
    String driverClass = null;
    String jdbcUrl = null;
    String user = null;
    String password = null;

    // 读取类路径下的jdbc.properties文件
    // 先将properties文件以数据流的形式读出来
    InputStream in = getClass().getClassLoader().getResourceAsStream("jdbc.properties");
    // 新建Properties对象实例
    Properties properties = new Properties();
    // 再将读取出来的数据流灌入实例中。注意,此处会抛出IO异常
    properties.load(in);
    // 再将对应的数据取出来
    driverClass = properties.getProperty("driverClass");
    jdbcUrl = properties.getProperty("jdbcUrl");
    user = properties.getProperty("username");
    password = properties.getProperty("password");

    // 通过反射的方式创建Driver的实现类
    Driver driver = (Driver) Class.forName(driverClass).newInstance();
    Properties info = new Properties();
    info.put("user", user);
    info.put("password",password);
    Connection connection = driver.connect(jdbcUrl, info);

    System.out.println(connection);
}

输出:com.mysql.jdbc.JDBC4Connection@5c0369c4
输出了MySQL的连接了

连接Oracle数据库怎么办呢?

只需要修改配置文件的配置就好了:

jdbc.properties文件内容:
driver=oracle.jdbc.driver.OracleDriver
jdbcUrl=jdbc:oracle:thin:@localhost:1521:orcl
user=scott
password=123

就能输出Oracle的连接了

本章结束

回到目录

如果本文有错误或对本文有不理解的地方欢迎评论 _

如果本文有帮助到您,可以点一下右上角的赞哦,谢谢啦