- 数据源的作用: 提高程序性能
- 数据源的使用流程:
① 创建数据源实例,初始化部分连接资源
② 每当使用连接资源,就从数据源获取
③ 使用完毕后,将连接资源归还给数据源 - 常见的数据源:DBCP、C3P0、BoneCP、Druid
- 数据源的创建步骤:
创建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(); //表面是关闭,实际是归还到数据源当中
}
网友评论