博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
dbutils工具
阅读量:5839 次
发布时间:2019-06-18

本文共 2072 字,大约阅读时间需要 6 分钟。

dbutils工具

它就是一个简单的jdbc封装工具.

使用dbutils可以简化操作.
要使用dbutils需要导入jar包. commons-dbutils-1.4.jar

QueryRunner类

1.query 用于执行select 2.update 用于执行update delete insert3.batch 批处理

ResultSetHandler接口

用于定义结果集的封装,我们也可以自己去定义一个结果集的封装

它提供九个实现类,可以进行不同的封装。

[DbUtils类]

它提供关于关闭资源以及事务rollback,commit操作。里面的方法都是静态的

dbutils使用

QueryRunner类

QueryRunner类提供了两个构造方法:

默认的构造方法  如果是使用这种构造创建的QueryRunner,它的事务是手动控制.1.new QueryRunner()需要一个 javax.sql.DataSource 来作参数的构造方法。如果是使用这种构造,它的事务是自动事务,简单说,一条sql一个事务。2.new QueryRunner(DataSource ds);

方法

query    查的方法   update    增、删、改的方法batch对于上述三个方法,它们提供很多重载。如果QueryRunner在创建时,没有传递DataSource参数,那么在使用query,update,batch方法时,要传递Connection参数如果QueryRunner在创建时,传递了DataSource参数,那么在使用query,update,batch方法时,不需要传递Connection参数。
QueryRunner runner=new QueryRunner();runner.query(Connection,sql,ResultSetHandler,Object... param);runner.update(Connection,sql,Object...param);runner.batch(Connection con,sql,Object[][] objs);QueryRunner runner=new QueryRunner(DataSource ds);runner.query(sql,ResultSetHandler,Object... param);runner.update(sql,Object...param);runner.batch(sql,Object[][] objs);

 自定义表的联查

//自定义全查[两表联查]    @Test    public void selectAllTwo() throws ClassNotFoundException, SQLException{        QueryRunner qr= new QueryRunner();                  //                                                       使用匿名内部类实现接口 ResultSetHandler  记住(泛型)【泛型是什么类型,返回值就是什么类型】                          List
li = qr.query(JDBCutil.getCon(), "select * from emp e,dept d where e.deptno = d.deptno", new ResultSetHandler
>(){ public List
handle(ResultSet rs) throws SQLException { List
li = new ArrayList
(); Emp e = null; Dept d = null; while (rs.next()) { d = new Dept(rs.getInt("deptno"), rs.getString("dname"), rs.getString("loc")); e = new Emp(rs.getInt("empno"), rs.getString("ename"), rs.getString("job"), d); li.add(e); } return li; } }); for (Emp emp : li) { System.out.println(emp); } }

 

转载于:https://www.cnblogs.com/taozizainali/p/11070117.html

你可能感兴趣的文章
虚拟机ping不通本机
查看>>
go的遍历数组操作
查看>>
建设容易选型难 数据中心高密度交换机
查看>>
华为交换机5700 ACL配置
查看>>
决定边缘计算未来形态的五大需求
查看>>
Nginx+Tomcat 安装配置
查看>>
Esxi 下虚拟主机安装Vmware Tools
查看>>
Linux下的postfix安装详解
查看>>
新手学习oracle之迁移数据表空间
查看>>
JS学习随笔记录1
查看>>
Linux的inode的理解
查看>>
构建大型企业网络-三层交换与VTP协议
查看>>
神啊,6小时30分钟,完成想要的所有Lync测试
查看>>
禁用php函数的设置
查看>>
IOS项目实战-登录解析
查看>>
假期为是否辞职做好数据参考
查看>>
启用ESXi的SSH服务
查看>>
总是弹出visual studio 实时调试器 三种解决办法
查看>>
Java程序员从笨鸟到菜鸟之(九十二)深入java虚拟机(一)——java虚拟机底层结构详解...
查看>>
SpringMVC POST和GET问题
查看>>