A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

数据库连接池

1、 概念:其实就是一个容器(集合),存放数据库连接的容器。

当系统初始化好后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问之后,会将连接对象归还给容器。



2、好处:

①节约资源;

②用户访问高效;



3、实现:

①标准接口:DataSource javax.sql包下的

1.方法:

*获取连接:getConnection();

*归还连接:Connection.close();

2.一般我们不去实现它,有数据库厂商来实现

*C3P0:数据库连接池技术

*Druid:数据库连接池实现技术,阿里巴巴提供。



3、C3P0:数据库连接池技术

*步骤:

1,导入jar包;

2.定义配置文件:

*名称: c3p0.properties 或者 c3p0-config.xml

*路径:直接将文件放在src目录下即可。

3.创建数据库连接池对象 ComboPooledDataSource

4.获取连接:getConnection

*代码:

// 创建数据库连接对象

DataSource ds=new ComboPooledDataSource;

// 获取连接对象

Connection conn=ds.getConnection();



5、Druid:数据库连接池实现技术

*步骤

1.导入jar包;

2.定义配置文件:

*是propertier形式的,可以叫任意名称,放在任何路径下。

3.加载配置文件;

4.获取数据库连接池对象:通过工厂类来获取 DruidDataSourceFactor

5.获取连接对象Connection



6、定义工具类

1.定义一个类JDBCUtils

2.提供静态代码块加载配置文件,初始化连接对象

3.提供方法:

①获取连接方法:通过数据库连接池获取

②释放资源

③获取连接池方法





Spring JDBC

*Spring框架对JDBC的简单封装。提供了一个JDBCTemplate对象简化JDBC的开发。



*步骤:

①导入jar包;

②创建JdbcTemplate对象,参数为DataSource:JdbcTemolate template=new JdbcTemplate(ds);



*条用JdbcTemplate的方法来完成CRUD的操作。

①update():执行DML语句。增删改语句。

②queryForMap():查询结果将结果集封装为map集合,将列名作为key,将值作为value,将这条记录封装为一个map集合。

*注意:这个方法查询的结果集长度只能是1;

③queryForList():查询结果将结果集封装为List集合。

*注意:将每一条记录封装为一个Map集合,再将Map集合封装到List集合中;

④query()查询结果,将查询结果封装为JavaBean对象

*query的参数:RowMapper

*一般我们使用BeanPropertyRowMapper实现类。可以完成数据到JavaBean的自动封装。

*new BeanPropertyRowMapper<类型>(类型.class)

⑤queryForObject:查询结果,封装为对象

*一般用于聚合函数的查询

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马