首页 java中QueryRunner类实现增删改查详解

java中QueryRunner类实现增删改查详解

举报
开通vip

java中QueryRunner类实现增删改查详解java中QueryRunner类实现增删改查详解 JAVA中DBUtils的QueryRunner类实现增删改查详解 一.QueryRunner类实现增 删改 public static void main(String[] args) throws Exception{ //使用自己的工具类,获取数据库的连接对象 Connection conn = MyJDBCUtils.getConnection(); //创建QueryRunner类对象 QueryRunner qr = new QueryRunn...

java中QueryRunner类实现增删改查详解
java中QueryRunner类实现增删改查详解 JAVA中DBUtils的QueryRunner类实现增删改查详解 一.QueryRunner类实现增 删改 public static void main(String[] args) throws Exception{ //使用自己的工具类,获取数据库的连接对象 Connection conn = MyJDBCUtils.getConnection(); //创建QueryRunner类对象 QueryRunner qr = new QueryRunner(); String sql = "UPDATE gjp_ledger set money=? , ldesc=? where lid=?"; Object[] params = {998,"买钻石",3}; int result = qr.update(conn, sql, params); System.out.println(result); DbUtils.close(conn); } 二.QueryRunner类获取查询结果集ResultSetHandler 1.常用Handler * ArrayHandler 将结果集第一行转成对象数组 public static void main(String[] args) throws Exception{ Connection conn = MyJDBCUtils.getConnection(); String sql = "SELECT * FROM gjp_ledger where lid=?"; //结果集处理方式,ArrayHandler 第一行转成对象数组 QueryRunner qr = new QueryRunner(); Object[] objects = qr.query(conn, sql, new ArrayHandler(),3); for(Object obj : objects){ System.out.println(obj); } } * ArrayListHandler 将结果集中的每一行数据都转成一个对象数组,再将转成的多个对 象数组存放到List中 public static void main(String[] args) throws Exception{ Connection conn = MyJDBCUtils.getConnection(); String sql = "SELECT * FROM gjp_ledger"; QueryRunner qr = new QueryRunner(); //执行query方法,传递连接对象,SQL语句,结果集处理方式ArrayListHandler List list = qr.query(conn, sql, new ArrayListHandler()); for(Object[] objects : list){ for(Object obj : objects){ System.out.print(obj+" "); } System.out.println(); } } * BeanHandler 将结果集第一行数据封装到一个对应的业务类实例中 (1): 定义业务数据类Ledger(实体类,javaBean) public class Ledger { //要生成空参、有参构造、set和get方法、toString方法 private int lid; private String parent; private double money; private int sid; private String account; private String createtime; private String ldesc; } * (2)测试案例代码 public static void main(String[] args) throws Exception{ Connection conn = MyJDBCUtils.getConnection(); String sql = "SELECT * FROM gjp_ledger"; QueryRunner qr = new QueryRunner(); //BeanHandler泛型 ,构造方法(和反射有关系的对象) Ledger legder = qr.query(conn, sql, new BeanHandler(Ledger.class)); System.out.println(legder); } * BeanListHandler 将结果集中的每一行数据都封装到一个对应的业务类实例中,再将 多个业务类实例对象存放到List里。 public static void main(String[] args) throws Exception { Connection conn = MyJDBCUtils.getConnection(); String sql = "SELECT * FROM gjp_ledger"; //结果集处理方式,BeanListHandler 每一行数据封装到业务数据类中 QueryRunner qr = new QueryRunner(); List list = qr.query(conn, sql, new BeanListHandler(Ledger.class)); for(Ledger ledger : list){ System.out.println(ledger); } } * MapHandler 将结果集中的第一行数据封装到一个Map中,key是列名,value是对应的值。 public static void main(String[] args) throws Exception { Connection conn = MyJDBCUtils.getConnection(); String sql = "SELECT * FROM gjp_ledger"; //结果集处理方式,MapHandler 封装到一个Map集合中,存储键值对集合 QueryRunner qr = new QueryRunner(); Map map = qr.query(conn, sql,new MapHandler()); for(String key : map.keySet()){ System.out.println(key+" "+map.get(key)); } } * MapListHandler 将结果集中的每一行数据都封装到一个Map里,然后再将多个Map存放到List public static void main(String[] args) throws Exception{ Connection conn = MyJDBCUtils.getConnection(); String sql = "SELECT * FROM gjp_ledger"; //结果集处理方式,MapListHandler 数据中的每一行封装成Map集合,多个Map集合存储到List集合 QueryRunner qr = new QueryRunner(); List> list = qr.query(conn, sql,new MapListHandler()); for(Map map : list){ for(String key : map.keySet()){ System.out.print(key+" "+map.get(key)); } System.out.println(); } } * ColumnListHandler 将结果集中某一列的数据存放到List中 public static void main(String[] args)throws Exception { Connection conn = MyJDBCUtils.getConnection(); String sql = "SELECT * FROM gjp_ledger"; //结果集处理方式,ColumnListHandler 数据中一个列,数据存储到List集合 QueryRunner qr = new QueryRunner(); //ColumnListHandler构造方法中,写字符串列名 List list = qr.query(conn, sql,new ColumnListHandler("money")); for(Double money : list){ System.out.println(money); } } * ScalarHandler 进行单值查询,如:select count(*) from public static void main(String[] args) throws Exception{ Connection conn = MyJDBCUtils.getConnection(); String sql = "SELECT count(*)as count FROM gjp_ledger"; //结果集处理方式,ScalarHandler 满足只有1列,1个数据 QueryRunner qr = new QueryRunner(); //ColumnListHandler构造方法中,写字符串列名 Long i = qr.query(conn, sql, new ScalarHandler("count")); System.out.println(i); } * KeyedHandler 将结果集中的每一行数据都封装为一个Map(List),再将这些Map再存到一个Map里,其key为KeyedHandler指定的列,如果没有指定则使用第一个查询的字段。 public static void main(String[] args) throws Exception{ Connection conn = MyJDBCUtils.getConnection(); String sql = "SELECT * FROM gjp_ledger"; //结果集处理方式,KeyedHandler QueryRunner qr = new QueryRunner(); Map > map= qr.query(conn, sql, new KeyedHandler("lid")); System.out.println(map); }
本文档为【java中QueryRunner类实现增删改查详解】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_792768
暂无简介~
格式:doc
大小:21KB
软件:Word
页数:6
分类:企业经营
上传时间:2018-01-05
浏览量:80