QueryRunner的两个构造方法

第一种:不带参数的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/


   

你可能感兴趣的:(异常信息)