一、前言
JavaWeb–数据库连接池【入门】
本篇博客主要总结如何高效的使用数据库连接池来进行开发,且本文中的Demo使用的数据库连接池技术为Druid。
二、需求
在exam数据库中有一张如下结构,且名为account的表:
现有如下需求:
往这张表中插入一条记录:values(null, ‘张三’, 4000)
三、V1.0版
1 | public class DruidDemo1 { |
仔细思考我们就会发现,DruidDemo1中的如下部分代码时可重用的:
1、加载配置文件
2、获取连接池对象
3、释放资源
所以我们可以对其进行简单封装,从而形成工具类。因此出现了2.0版本。
四、V2.0版
对DruidDemo1中的部分代码进行封装,得到JDBCUtils工具类:
1 | public class JDBCUtils { |
使用工具类实现需求:
1 | public class DruidDemo2 { |
通过使用工具类我们就会发现,代码数量有了减少,并且其可重用性有了很大的提升。
但是,追求完美的我们是不能这样的满足的,因为我们又发现另一个情况:
虽然对于一些数据库的添加,删除,修改操作,代码数量不是很多;可当我们执行查询操作时,代码量可还是有很多,尤其我们通常还需要将查询查询后的结果进行封装,这样的话,代码就更多了,那么有没有更好地办法来解决这个问题呢???
答案当然是肯定的。比如JdbcTemplate
五、JdbcTemplate
JdbcTemplate是Spring框架对JDBC的简单封装后,提供的一个简化JDBC的使用的工具。
1、导入jar包
1 | commons-logging-1.2.jar |
2、创建JdbcTemplate对象
1 | JdbcTemplate template = new JdbcTemplate(参数); |
3、调用JdbcTemplate的方法来完成CRUD的操作
1 | * update():执行DML语句。增、删、改语句 |
了解了JdbcTemplate之后,我们就可以使用它来优化代码了,因此有了3.0版本。
六、V3.0版
1 | public class JTDemo { |
是的,没有看错,在使用了JDBCUtils工具类和JdbcTemplate这个工具之后,之前的代码就变得这么简单了。
七、JdbcTemplate案例补充
exam数据库中有一张名为emp,且结构如下的表
(一)插入、删除、修改操作
1、插入一条记录
1 | public void test01(){ |
2、删除一条记录
1 | public void test02(){ |
3、修改一条记录
1 | public void test03(){ |
(二)查询操作
1、查询empno为1001的记录,将其封装为Map集合
1 | public void test01(){ |
2、查询所有记录,将其封装为List
1 | public void test02(){ |
3、查询所有记录,将其封装为Emp对象的List集合
1 | public void test03(){ |
当然,这个操作的前提是要先创建Emp这个JavaBean
4、查询总记录数
1 | public void test04(){ |
八、总结
通常当需要进行数据库操作时,都会封装JDBCUtils工具类、使用数据库连接池,以及使用JDBC工具来进行开发。
Java新手,若有错误,欢迎指正!