使用queryrunner操作数据库

来源:互联网 发布:灵娱网络每天流水多少 编辑:程序博客网 时间:2024/05/27 10:44

采用queryrunner进行查询数据库,它能帮助我们将结果集封装好,这样方便我们操作。

QueryRunner qr = new QueryRunner();
queryrunner下面有多个方法,下面介绍其中两个:

query(Connection conn, String sql, ResultSetHandler<T> rsh)
query(Connection conn, String sql, Object[] obj, ResultSetHandler<T> rsh)

其中obj为查询的条件,ResultSetHandler类型如下可供选择:

①ArrayHandler:把结果集中的第一行数据转成对象数组。
②ArrayListHandler:把结果集中的每一行数据都转成一个对象数组,再存放到List中。
BeanHandler:将结果集中的第一行数据封装到一个对应的JavaBean实例中。
BeanListHandler:将结果集中的每一行数据都封装到一个对应的JavaBean实例中,存放到List里。
⑤MapHandler:将结果集中的第一行数据封装到一个Map里,key是列名,value就是对应的值。
⑥MapListHandler:将结果集中的每一行数据都封装到一个Map里,然后再存放到List
⑦ColumnListHandler:将结果集中某一列的数据存放到List中。
⑧KeyedHandler(name):将结果集中的每一行数据都封装到一个Map里(List<Map>),再把这些map再存到一个map里,其key为指定的列。
⑨ScalarHandler:获取结果集中第一行数据指定列的值,常用来进行单值查询。

下面来上几个小demo
1)将查询的一列封装到list里面去,即选择ColumnListHandler这种类型,后面是选择第一列进行封装

String sql = "SELECT s_id  FROM student";QueryRunner qr = new QueryRunner();List<String> kList = null;try {kList = qr.query(connection, sql, new ColumnListHandler<String>(1));} catch (SQLException e) {e.printStackTrace();}        
2)根据参数查询

String sql = "SELECT s_id  FROM student WHERE sex=?";QueryRunner qr = new QueryRunner();List<String> kList = null;try {kList = qr.query(connection, sql, new Object[]{"男"},new ColumnListHandler<String>(1));} catch (SQLException e) {e.printStackTrace();}  
其他的类似这样。


原创粉丝点击