DBUtils练习,增删改查,ResultSetHandler的9个结果处理器
2017-07-04 16:01
239 查看
/** * DBUtils练习,增删改查,ResultSetHandler的9个结果处理器 */ public class TestDBUtils { @Test public void testSelect() throws SQLException { QueryRunner queryRunner = new QueryRunner(C3P0Util.getDataSource()); List<User> query = queryRunner.query("select * from user where password=?", new BeanListHandler<User>(User.class), 321); for (User u : query) { System.out.println(u); } } @Test public void testInsert() throws SQLException { QueryRunner queryRunner = new QueryRunner(C3P0Util.getDataSource()); queryRunner.update("insert into user(username,password,email,birthday) values(?,?,?,?)", "老张", "123", "cx@qq.com", "2013-3-2"); } @Test public void testUpdate() throws SQLException { QueryRunner queryRunner = new QueryRunner(C3P0Util.getDataSource()); queryRunner.update("update user set username=?,password=? where id=?", "王婉婉", "321", 2); } @Test public void testDelete() throws SQLException { QueryRunner queryRunner = new QueryRunner(C3P0Util.getDataSource()); queryRunner.update("delete from user where id=?", 2); } @Test public void testBatch() throws SQLException { QueryRunner queryRunner = new QueryRunner(C3P0Util.getDataSource()); Object[][] objects = new Object[10][4]; for (int i = 0; i < objects.length; i++) { objects[i][0] = "程啸" + i; objects[i][1] = "aaa" + i; objects[i][2] = i + "@q.c"; objects[i][3] = "2017-02-" + i; } queryRunner.batch("insert into user(username,password,email,birthday) values(?,?,?,?)", objects); } @Test//ArrayHandler适合取1条数据,把这条数据的每列值封装到一个数组中 public void test1() throws SQLException { QueryRunner qr = new QueryRunner(C3P0Util.getDataSource()); Object[] query = qr.query("select * from user where id=?", new ArrayHandler(), 13); for (Object o : query) System.out.println(o); } @Test//ArrayListHandler适合取多条数据,把这条数据的每列值封装到一个数组中,把数组封装到List中 public void test2() throws SQLException { QueryRunner qr = new QueryRunner(C3P0Util.getDataSource()); List<Object[]> query = qr.query("select * from user", new ArrayListHandler()); for (Object[] o : query) { for (Object o1 : o) System.out.print(o1); System.out.println(); } } @Test//ColumnListHandler取某一列的数据,封装到List中 public void test3() throws SQLException { QueryRunner qr = new QueryRunner(C3P0Util.getDataSource()); List<Object> query = qr.query("select username,password from user", new ColumnListHandler<Object>(2)); for (Object u : query) { System.out.println(u); } } @Test//KeyedHandler:取多条数据,每一条记录封装到一个Map中,再把这个Map封装到另一个Map中,key为指定的字段值 public void test4() throws SQLException { QueryRunner qr = new QueryRunner(C3P0Util.getDataSource()); Map<Object, Map<String, Object>> query = qr.query("select id,username,password from user where username=?", new KeyedHandler<Object>(1), "程啸2"); for (Map.Entry<Object, Map<String, Object>> entry : query.entrySet()) { System.out.println(entry.getKey()); for (Map.Entry<String, Object> entry1 : entry.getValue().entrySet()) { System.out.println(entry1.getKey() + "-->" + entry1.getValue()); } } } @Test//MapHandler适合取1条数据,把当前记录的列名和列值放到一个Map中 public void test5() throws SQLException { QueryRunner qr = new QueryRunner(C3P0Util.getDataSource()); Map<String, Object> query = qr.query("select * from user where id=?", new MapHandler(), 22); for (Map.Entry<String, Object> entry : query.entrySet()) System.out.println(entry.getKey() + ":" + entry.getValue()); } @Test//MapListHandler:取多条数据,每一条记录封装到一个Map中,再把这个Map封装到List中 public void test6() throws SQLException { QueryRunner qr = new QueryRunner(C3P0Util.getDataSource()); List<Map<String, Object>> query = qr.query("select id,username,password from user where username=?", new MapListHandler(), "程啸2"); for (Map<String, Object> map : query) { for (Map.Entry<String, Object> entry : map.entrySet()) { System.out.println(entry.getKey() + "-->" + entry.getValue()); } } } @Test//ScalarHandler:适合取单行单列数据 public void test7() throws SQLException { QueryRunner qr = new QueryRunner(C3P0Util.getDataSource()); Object query = qr.query("select count(*) from user where username=?", new ScalarHandler<Object>(1), "程啸2"); System.out.println(query.getClass().getName()); } @Test//BeanHandler:适合取单条数据,并返回一个对象 public void test8() throws SQLException { QueryRunner qr = new QueryRunner(C3P0Util.getDataSource()); Object query = qr.query("select * from user where username=?", new BeanHandler<User>(User.class), "程啸2"); System.out.println(query); } @Test//BeanListHandler:适合取多行数据,并返回对象List public void test9() throws SQLException { QueryRunner qr = new QueryRunner(C3P0Util.getDataSource()); List<User> list = qr.query("select * from user where username=?", new BeanListHandler<User>(User.class), "程啸2"); for (User u:list) { System.out.println(u); } } }
相关文章推荐
- Apache的DBUtils框架的查询结果处理器的使用(ResultSetHandler接口的子类)
- 【JavaWeb-11】DBUtils、QueryRunner的query/update/batch、ResultSetHandler的9个处理器、ThreadLocal管理conn进行事务处理的案例
- C++文本查询程序 不要定义类和智能指针管理数据 C++Primer练习12.28 使用vector,map,set容器保存来自文件的数据并生成查询结果
- 【DButils学习之】利用ResultSetHandler各实现类来处理查询结果
- java switch语句练习 从键盘输入2个数和一个运算符(+,-,*,/),输出运算结果
- C++文本查询程序 C++Primer练习12.28 使用vector,map,set容器保存来自文件的数据并生成查询结果
- vector向量练习小例子c++代码实例及运行结果
- 利用dbutils工具实现数据的增删查改操作(dbutis入门)
- 练习ssm框架整合,做增删改查操作
- 使用DbUtils实现增删改查——ResultSetHandler接口的实现类
- 【敏捷个人俱乐部-北京】及【免费敏捷结果线下练习】报名帖
- mysql笔记九——Dbutils的使用(增删改查,事务)
- 练习2-6 编写一个函数setbits(x, p ,n, y),该函数返回对x执行下列操作后的结果值: 将x中从第p位开始的n个(二进制)位设置为y中最右边n位的值,x的其余各位保持不变。
- Shell练习获取彩票开奖结果
- javawebday50(ThreadLocal dbutils简易盗版 体会内部内容 queryrunner 增删)
- xml解析——增删改查操作后将其修改结果保存
- java对象数组的增删练习之《学生信息管理系统》
- C++文本查询程序 不要定义类和智能指针管理数据 C++Primer练习12.28 使用vector,map,set容器保存来自文件的数据并生成查询结果
- php 增删改查练习
- angular.js 增删改查练习1