数据库连接池之_DButils
1 // 这个是在添加数据 2 @Test 3 public void demo1() { 4 QueryRunner qr = new QueryRunner(JDBCUtils.getDataSource()); 5 String sql = "insert into Book values(?,?)"; 6 try { 7 int num = qr.update(sql, 26, "明朝那些事"); 8 if (num > 0) { 9 System.out.println("添加成功"); 10 } else { 11 System.out.println("添加失败"); 12 } 13 } catch (SQLException e) { 14 // TODO Auto-generated catch block 15 e.printStackTrace(); 16 } 17 } 18 19 // 修改数据 20 @Test 21 public void demo2() { 22 QueryRunner queryRunner = new QueryRunner(JDBCUtils.getDataSource()); 23 try { 24 String sql = "update Book set bname=? where id=?"; 25 int num = queryRunner.update(sql, "史记", 29); 26 if (num > 0) { 27 System.out.println("添加成功"); 28 } else { 29 System.out.println("添加失败"); 30 } 31 } catch (Exception e) { 32 e.printStackTrace(); 33 } 34 } 35 36 // 下面的是查询语句 37 // 将数据表中的第一条数据封装成object 38 @Test 39 public void demo3() { 40 QueryRunner queryRunner = new QueryRunner(JDBCUtils.getDataSource()); 41 try { 42 String sql = "select * from Book"; 43 Object[] objects = queryRunner.query(sql, new ArrayHandler()); 44 45 System.out.println(Arrays.toString(objects)); 46 } catch (Exception e) { 47 e.printStackTrace(); 48 } 49 } 50 51 //将数据表中的每一条数据封装成object new ArrayListHandler() 52 @Test 53 public void demo4(){ 54 QueryRunner queryRunner=new QueryRunner(JDBCUtils.getDataSource()); 55 try { 56 String sql="select * from Book"; 57 List<Object[]> list=queryRunner.query(sql,new ArrayListHandler()); 58 59 for(Object[] objects:list){ 60 System.out.println(Arrays.toString(objects)); 61 } 62 63 } catch (Exception e) { 64 e.printStackTrace(); 65 } 66 } 67 68 69 //把数据表中的第一条数据封装成JavaBean实体类对象 BeanHandler 70 @Test 71 public void demo5(){ 72 QueryRunner queryRunner=new QueryRunner(JDBCUtils.getDataSource()); 73 try { 74 String sql="select * from Book"; 75 Book list=queryRunner.query(sql,new BeanHandler<>(Book.class)); 76 77 System.out.println(list.toString()); 78 } catch (Exception e) { 79 e.printStackTrace(); 80 } 81 } 82 83 84 //把数据表中的每一条数据封装成JavaBean实体类对象 BeanListHandler 85 @Test 86 public void demo6(){ 87 QueryRunner queryRunner=new QueryRunner(JDBCUtils.getDataSource()); 88 try { 89 String sql="select * from Book"; 90 List<Book> list=queryRunner.query(sql,new BeanListHandler<>(Book.class)); 91 92 for(Book book:list) 93 System.out.println(book.toString()); 94 } catch (Exception e) { 95 e.printStackTrace(); 96 } 97 } 98 99 //把数据表中的第一条数据封装成Map集合 ,键:列名 值:该列的值 new MapHandler() 100 @Test 101 public void demo7(){ 102 QueryRunner queryRunner=new QueryRunner(JDBCUtils.getDataSource()); 103 try { 104 String sql="select * from Book"; 105 Map<String,Object > map=queryRunner.query(sql,new MapHandler()); 106 107 System.out.println(map); 108 } catch (Exception e) { 109 e.printStackTrace(); 110 } 111 } 112 113 //把数据表中的每一条数据封装成Map集合 ,键:列名 值:该列的值 new MapListHandler() 114 @Test 115 public void demo8(){ 116 QueryRunner queryRunner=new QueryRunner(JDBCUtils.getDataSource()); 117 try { 118 String sql="select * from Book"; 119 List<Map<String,Object >>list=queryRunner.query(sql,new MapListHandler()); 120 for(Map<String,Object>map:list) 121 System.out.println(map); 122 } catch (Exception e) { 123 e.printStackTrace(); 124 } 125 } 126 127 // ColunmListHandler: 把数据表中的没一条数据封装成 Map集合, 键:列名 值:该列的值 , 然后把每一行的Map集合装入到一个List集合中. 128 @Test 129 public void demo9() { 130 // 1. 获取可以执行SQL语句的对象: QueryRunner 131 QueryRunner qr = new QueryRunner(JDBCUtils.getDataSource()); 132 // 2. 编写需要执行的SQL语句 133 String sql = "select * from Book;"; 134 // 3. 执行SQL语句, 获取结果集 135 try { 136 List<Object> list = qr.query(sql, new ColumnListHandler("bname")); 137 System.out.println(list); 138 } catch (SQLException e) { 139 e.printStackTrace(); 140 } 141 } 142 143 // ScalarHandler: 把数据表中的没一条数据封装成 Map集合, 键:列名 值:该列的值 , 然后把每一行的Map集合装入到一个List集合中. 144 @Test 145 public void demo10() { 146 // 1. 获取可以执行SQL语句的对象: QueryRunner 147 QueryRunner qr = new QueryRunner(JDBCUtils.getDataSource()); 148 // 2. 编写需要执行的SQL语句 149 String sql = "select count(*) from Book;"; 150 // 3. 执行SQL语句, 获取结果集 151 try { 152 Object obj = qr.query(sql, new ScalarHandler()); 153 System.out.println(obj); 154 } catch (SQLException e) { 155 e.printStackTrace(); 156 } 157 } 158 159 // KeyedHandler: 把数据表中的没一条数据封装成 Map集合, 键:列名 值:该列的值 , 然后把每一行的Map集合装入到一个List集合中. 160 @Test 161 public void demo11() { 162 // 1. 获取可以执行SQL语句的对象: QueryRunner 163 QueryRunner qr = new QueryRunner(JDBCUtils.getDataSource()); 164 // 2. 编写需要执行的SQL语句 165 String sql = "select * from Book;"; 166 // 3. 执行SQL语句, 获取结果集 167 try { 168 Map<Object, Map<String, Object>> map = qr.query(sql, new KeyedHandler("bname")); 169 for (Object key : map.keySet()) { 170 System.out.println(key + "..." + map.get(key)); 171 } 172 173 } catch (SQLException e) { 174 e.printStackTrace(); 175 } 176 }
转载于:https://www.cnblogs.com/zhuguangzhe/p/7458260.html
数据库连接池之_DButils相关推荐
- c#打开数据库连接池的工作机制_数据库连接池-tomcat-jdbc使用笔记
现在 主流的数据库连接池有:Proxool.C3P0.DBCP.tomcat-jdbc.Druid.其中tomcat-jdbc是tomcat服务器比较可靠的 数据库连接池. Tomcat 在 7.0 ...
- Druid数据库连接池超时问题com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 1000, active 10
问题描述: com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 1000, active 10at com.alibab ...
- Druid数据库连接池使用参考
一:添加相应依赖 druid-1.0.9.jar: mysql-connector-java-5.1.48-bin.jar 二:编写properties文件 放置位置在src中: driverClas ...
- mysql连接池为何不用nio_为什么要用数据库连接池?
1.为什么要用数据库连接池? 最原始的数据库使用就是打开一个连接并进行使用,使用过后一定要关闭连接释放资源.由于频繁的打开和关闭连接对jvm包括数据库 都有一定的资源负荷,尤其应用压力较大时资源占用比 ...
- net core mysql 连接池_EF Core 小坑:DbContextPool 会引起数据库连接池连接耗尽
EF Core 小坑:DbContextPool 会引起数据库连接池连接耗尽 发布时间:2019-02-18 22:05, 浏览次数:1152 , 标签: EF Core DbContextPool ...
- 数据库连接池,实现及分析
在我们日常对数据库操作时存在一个问题,要为每次数据操作请求建立一个数据库连接.而每次建立连接都需要花费很多开销,如加载驱动类.注册驱动.获取连接,这样如果在短时间内连接多次,就 会耗费多余的时间(加载 ...
- swoole实现数据库连接池
2019独角兽企业重金招聘Python工程师标准>>> 原生 PHP CURD 让我们来回顾一下PHP中数据库的使用 <?php # curd.php$id = 1;$dbh ...
- 聊一个不常见的面试题:为什么数据库连接池不采用 IO 多路复用?
欢迎关注方志朋的博客,回复"666"获面试宝典 今天我们聊一个不常见的 Java 面试题:为什么数据库连接池不采用 IO 多路复用? 这是一个非常好的问题.IO多路复用被视为是非常 ...
- 为什么数据库连接池不采用 IO 多路复用?
欢迎关注方志朋的博客,回复"666"获面试宝典 接着,今天我们聊一个不常见的 Java 面试题:为什么数据库连接池不采用 IO 多路复用? 这是一个非常好的问题.IO多路复用被视为 ...
最新文章
- 搞懂机器学习的常用评价指标!
- SMO学习笔记(三)——效验数据库备份文件
- 密码篇——对称加密—DES
- python3学哪个版本好玩_python2和python3到底应该学哪个好?
- Binding在WPF中的使用
- YbtOJ#20067-[NOIP2020模拟赛B组Day5]糖果分配【dp】
- mybatis学习(7):Windows下安装MySQL详细教程
- Oracle的执行计划详解
- 最近发现了一条新的“致富”路
- Python连接SQLite
- 获取元素属性(offsetHeight、clientHeight...)无效
- 一文读懂机器学习(转)
- 图片转化成矩阵,灰度处理,黑白对调--ByMatlab
- li序号 ul_ul ol li的序号编号样式
- SSM+基于微信小程序的航空售票管理系统 毕业设计-附源码191111
- 【Unity3d】存档与读档
- ThreeJs顶点法向量光照计算
- PHP招聘:如何面试应届生求职者
- 手眼标定AX=XB原理
- python实现批量修改图片颜色