up:: C3P0连接池入门
Apache Commons DBUtils目的就一个:简化JDBC的操作。
具体就是:连接池负责创建数据库连接;Commons DBUtils负责简化增删改查;
JDBC的开发需要五个步骤:加载并注册JDBC驱动,创建数据库连接,创建Statement对象,遍历查询结果,关闭连接、释放资源;这个过程还是比较麻烦的。Apache Commons DBUtils就是提供了JDBC代码的封装。
1.下载Commons DBUtils
2.Commons DBUtils引用到工程中
(1)先把jar包复制进lib目录下;(2)将jar包引入到工程中去。
前面有一样的操作。这儿就重复不详细说明了。
3.Commons DBUtils使用:数据查询操作(与Druid连接池结合)
Commons DBUtils默认是支持Druid和C3P0这样的数据库连接池的;
DBUtilsSample类:query()方法
DBUtilsSample类需要注意的点:
(1) qr.query()方法:第一参数是查询语句;第二个参数告诉我们查询到的每一个记录要转换成什么类的实体对象;第三个参数是一个Object数组,对应了第一个参数所需的?;
(2) 实体类属性必须要和数据表中的字段名称完全相同!!!(这个条件有点严格。)
(3) Commons DBUtils的使用需要:DataSource对象;;;DataSource这个对象,Druid和C3P0这些数据库连接池都可以提供。 _
那么,Commons DBUtils必须要和数据库连接池配合才能使用????_
解答:大概是的,连接池负责数据库连接,Commons DBUtils负责简化查询。
(4) 看图,QueryRunner就是Commons DBUtils的一个类;
(5) 在上面的过程中,并没有任何涉及到任何连接(Connection)的操作。在执行qr.query()时,Commons DBUtils会创建一个连接(当然在上面的例子中,这个连接是直接从连接池中取的),当把这个查询方法qr.query()执行完毕后,连接就会自动的被关闭,并不需要我们手动的介入。。。所以,我们不需要手动关闭连接的那些东西。
运行结果:
4.Commons DBUtils使用:数据更新(新增、修改、删除)操作(与Druid连接池结合)
DBUtilsSample类:update方法
几点说明:
(1)更新操作需要手动控制事务,所系需要获取连接Connection对象;
(2) 更新操作和查询操作有些许不同;
目前,有很多公司,对【Apache Commons DBUtils】进行了二次封装,直接用在项目中,完成对数据的交互操作。即【Apache Commons DBUtils】这个东西还是不错的,有很多地方在用啦。
注:这些东西原理不复杂,但是需要在实际使用中熟练,然后才能得心应手。。。