数据源(连接池)的创建步骤&配置文件的抽取

2020-08-19  本文已影响0人  52JackWang
  1. 数据源的作用: 提高程序性能
  2. 数据源的使用流程:
    ① 创建数据源实例,初始化部分连接资源
    ② 每当使用连接资源,就从数据源获取
    ③ 使用完毕后,将连接资源归还给数据源
  3. 常见的数据源:DBCP、C3P0、BoneCP、Druid
  4. 数据源的创建步骤:
    创建C3P0数据源(加载配置文件的方式,便于解耦):
public void test3() throws PropertyVetoException, SQLException {
    //读取配置文件(配置与代码抽离)
    ResourceBundle rb = ResourceBundle.getBundle("jdbc");
    String driver = rb.getString("jdbc.driver");
    String url = rb.getString("jdbc.url");
    String username = rb.getString("jdbc.username");
    String password = rb.getString("jdbc.password"); 
 
    //创建数据源 设置连接参数                                                 
    ComboPooledDataSource dataSource = new ComboPooledDataSource();
    dataSource.setDriverClass(driver);
    dataSource.setJdbcUrl(url); 
    dataSource.setUser(username);
    dataSource.setPassword(password); 
                                                                   
    //获取连接资源                                                       
    Connection connection = dataSource.getConnection();
    System.out.println(connection);

    //使用完连接资源之后,将连接资源归还到数据源当中                                      
    connection.close(); 
}

上面代码用到的配置文件:jdbc.properties文件,内容如下:

jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/world
jdbc.username=root
jdbc.password=123456

创建Druid数据源(将配置写死的方式):

public void test2() throws SQLException {
    DruidDataSource dataSource = new DruidDataSource();
    //设置4个基本的连接参数
    dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver");
    dataSource.setUrl("jdbc:mysql://localhost:3306/world?useSSL=false");
    dataSource.setUsername("root");
    dataSource.setPassword("123456");

    //获取数据源中的连接资源
    DruidPooledConnection connection = dataSource.getConnection();
    System.out.println(connection);

    //使用过连接资源后,需要将连接资源归还给数据源
    connection.close(); //表面是关闭,实际是归还到数据源当中
}
上一篇下一篇

猜你喜欢

热点阅读