QueryRunner的两个构造方法
2018-03-30 09:42
197 查看
第一种:不带参数的QueryRunner构造方法
QueryRunner queryRunner = new QueryRunner();
这种情况下,调用update或query方法时,需要传入对应的connection参数
queryRunner.update(conn, sql,params);
conn.close();
DBUtils调用这种带connection参数的方法时,
只会关闭preparedstatement和resultset对象,不会关闭conneciton对象,一些情况下,没有手动关闭,可能会导致连接池满了,访问数据库是处于一直等待的状态。
就是为了其他方法来调用这个conneciton,所以这种连接数据库的方法适合操作事务。
第二种:带参数的QueryRunner构造方法:
QueryRunner queryRunner = new QueryRunner(dataSource);
将dataSource传递进去,这样update或query方法内部就调用this.getconnection方法来从这个数据源获得连接,
queryRunner.update( sql,params);
操作完后,就关闭conneciton,preparedstatement和resultset对象.
事务是自动控制的,一条SQL语句一个事务,不需要人为的控制。
参考自:http://blog.itpub.net/29445577/viewspace-1075884/
QueryRunner queryRunner = new QueryRunner();
这种情况下,调用update或query方法时,需要传入对应的connection参数
queryRunner.update(conn, sql,params);
conn.close();
DBUtils调用这种带connection参数的方法时,
只会关闭preparedstatement和resultset对象,不会关闭conneciton对象,一些情况下,没有手动关闭,可能会导致连接池满了,访问数据库是处于一直等待的状态。
就是为了其他方法来调用这个conneciton,所以这种连接数据库的方法适合操作事务。
第二种:带参数的QueryRunner构造方法:
QueryRunner queryRunner = new QueryRunner(dataSource);
将dataSource传递进去,这样update或query方法内部就调用this.getconnection方法来从这个数据源获得连接,
queryRunner.update( sql,params);
操作完后,就关闭conneciton,preparedstatement和resultset对象.
事务是自动控制的,一条SQL语句一个事务,不需要人为的控制。
参考自:http://blog.itpub.net/29445577/viewspace-1075884/
相关文章推荐
- 比较两个类中使用构造方法传参的值是否相同
- FutureTask两个构造方法介绍
- SQL输出两个字段无重复的行
- 两个Activities之间的数据传递问题解决1
- Delphi 接口:两个接口有相同名称的方法
- 作业2:设计并测试一个名为Rectangle的矩形类,其属性为矩形的左下角与右上角两个点的坐标,根据坐标能计算出矩形的面积
- 【学习点滴-数据结构-栈&队列】 用两个栈模拟一个队列
- LCS算法取两个字符串最大子串
- TransactionScope分布式事务,将两个数据库操作放在一个事务中
- mfc 在VC的两个对话框类中传递参数的三种方法
- 给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url?
- 有两个有序整数集合a和b,写一个函数找出它们的交集?
- 两个Linux下的免费视频编辑软件
- 一个IIS中可否支持两个版本的Freamwork
- 剑指offer-09 用两个栈来实现一个队列
- 9.10 为了让程序清单9.8中的 to_binary()函数更通用,编写一个to_base_n()函数接收两个参数。。。。。。。
- 如何求两个向交矩形的交集的面积?
- 用两个队列实现一个栈 算法导论10.1-7答案
- 分享两个DEDECMS分页样式css代码
- C# 获取两个矩形相减部分的GraphicsPath