学科分类
目录
Java Web

QueryRunner类

QueryRunner类简化了执行SQL语句的代码,它与ResultSetHandler组合在一起就能完成大部分的数据库操作,大大减少编码量。

QueryRunner类提供了两个构造方法,一个是默认的构造方法,一个是需要javax.sql.DataSource作为参数的构造方法。因此,在你不用为一个方法提供一个数据库连接的情况下,提供给构造器的DataSource就可以用来获得连接。但是,在使用 JDBC操作数据库时,需要使用Connection对象对事务进行管理,因此如果需要开启事务就需要使用不带参数的构造方法。针对不同的数据库操作,QueryRunner类提供了不同的方法,具体如下:

query(Connection conn, String sql, ResultSetHandler rsh, Object[] params)方法

该方法用于执行查询操作,其中参数params表示一个对象数组,该数组中每个元素的值都被用来作为查询语句的置换参数。需要注意的是,该方法会自动处理PreparedStatement 和 ResultSet 的创建和关闭。

值得一提的是,QueryRunner中还有一个方法是query(Connection conn, String sql,Object[] params,ResultSetHandler rsh)。该方法与上述方法唯一不同的地方就是参数的位置。由于Java1.5增加了新特性:可变参数可变参数适用于参数个数不确定,类型确定的情况,Java把可变参数当做数组处理。但是,可变参数必须位于最后一项。所以此方法已过期。

query(String sql, ResultSetHandler rsh, Object[] params)方法

该方法用于执行查询操作,与第一个方法相比,它不需要将Connection对象传递给方法,它可以从提供给构造方法的数据源DataSource或使用的setDataSource()方法中获得连接。

query(Connection conn, String sql, ResultSetHandler rsh)方法

该方法用于执行一个不需要置换参数的查询操作

update(Connection conn, String sql, Object[] params)方法

该方法用来执行插入、更新或者删除操作,其中参数params表示SQL语句中的置换参数。

update(Connection conn, String sql)方法

该方法用于执行插入、更新或者删除操作,它不需要置换参数。

点击此处
隐藏目录