五天学会MySQL,第五天

一、数据库连接池

概念:其实就是一个容器(集合),存放数据库连接的容器。
–当系统初始化好,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完之后,会将对象归还给容器。好处:节约资源;用户访问高效
实现:标准接口:DateSource javax.sql包下的
方法:获取连接:getConnection();
归还连接:如果连接对象Connection是从连接池中获取的,那么调用Connection.close()方法,则不会再关闭连接了。而是归还连接

一般我们不去实现它,有数据库厂商来实现
C3P0:数据库连接池技术
Druid:数据库连接池实现技术,由阿里巴巴提供的
1、导入jar包:druid-1.0.9.jar
2、定义配置文件:是properties形式的,可以叫任意名称,可以放在任意目录下
3、加载配置文件:
4、获取数据库连接池对象:通过工厂类来获取 DuridDataSourceFactory
5、获取连接:getConnection();
定义工具类:
1、定义一个类JDBCUtils
2、提供静态代码块加载配置文件,初始化连接池对象
3、提供方法

二、Spring JDBC:JDBC Template

提供了一个JDBC Template
1、导入jar包
2、创建JdbcTemplate对象。依赖于数据源DataSource
JdbcTemplate template= new JdbcTemplate(ds);
3、调用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:查询结果,将结果封装为对象;一般用于聚合函数的查询

猜你喜欢

转载自blog.csdn.net/weixin_45573296/article/details/123311495