Dbutils
来源:互联网 发布:法律专业 知乎 编辑:程序博客网 时间:2024/06/05 09:14
什么是Dbutils
Dbutils是操作数据库的组件,对传统操作数据库的类进行二次封装,可以把结果集转化成List。就是将有参数和无参数增删改查进行了封装。
为什么要使用Duutils?
如果使用JDBC进行开发,我们会发现冗余代码过多。在JDBC进行项目开发的时候,我们使用增删改查进行数据查询,如果我们做一个很大的项目的时候,这些语句需要反复使用,我们可以将这些语句进行封装,使用的时候就调用。
Dbutils如何使用
需要进行导包,这是一个第三方jar包,我们手动导入后,才可以使用里面的类。
导入的包为:Commons-dbUtils-1.4jar。该jar包封装并简化了JDBC,简化了我们的代码。
利用Dbutils中操作数据库的类
它是apachecommons组件一个成员:Dbutils 是java编程中数据库操作一个实用的工具,有三个核心功能:
QueryRunner: update用来表示数据更新操作,query用来进行数据查询
ResultSetHandler接口(结果集处理):这个主要是针对查询出来的数据进行封装
利用QueryRunner进行增删改查
插入操作:Connection con = JDBCUtil.getConnetion(); // 将数据库连接封装到了一个工具 进行连接QueryRunner qr=new QueryRunner();String sql="INSERT INTO rentinfo (TYPE,rent,areq,agencyPrice)VALUES (?,?,?,?)";Object[] params={"主卧",2000,16,0};int row = qr.update(sql);if(row>0){System.out.println("更新成功");}else{System.out.println("更新失败");} JDBCUtil.close();
删除操作:Connection con = JDBCUtil.getConnetion();//进行查询QueryRunner qr=new QueryRunner();String sql="DELETE FROM rentinfo WHERE TYPE=? AND rent=?";Object[] parms={"主卧",2000};int row = qr.update(sql);if(row>0){System.out.println("更新失败");}else{System.out.println("更新成功");
查询操作 Connectioncon = JDBCUtil.getConnetion(); QueryRunner qr=new QueryRunner(); String sql="SELECT * FROM rentinfoWHERE TYPE=?"; // String params="主卧";//知道参数类型的情况 Object[] params={"主卧"};//不知道参数类型 rentinfo qu = qr.query(con, sql,newBeanHandler<>(rentinfo.class),params); System.out.println(qu); con.close();
进行查询操作的时候,有时候返回只有一条数据,有的时候返回的就很多条数据。进行查询的时候对结果集的处理有几个类,我们常用的有以下几个类
如果数据集只有一条,一般用BeanHandler进行封装,也就是将第一条数据封装到实体中。
如果数据集有多条,一般用BeanListHandler进行封装,也就是将每一行数据作为一个对象,封装到集合中。
总结:数据库操作几乎是一个项目中,比较重要的一部分了。增删改查我们再熟悉不过了,只有熟练掌握了这些基本操作,让我们更好的提高效率。
- Dbutils
- dbutils
- DbUtils
- DBUtils
- DBUtils
- DBUtils
- DBUtils
- DBUtils
- DBUtils
- Dbutils
- DBUtils
- dbutils
- dbutils
- DbUtils
- DbUtils
- DbUtils
- DbUtils
- Dbutils
- Spring MVC
- 织梦报错提示 DedeCMS Error: (PHP 5.3 and above) Please set 'request_order' ini value to include C,G and P
- seetaface人脸识别引擎的windows java 实现,可用于搭建人脸识别java web服务器
- 使用 PHP 7 给 Web 应用加速
- StartCom 申请 SSL 证书及 Nginx HTTPS 支持配置全攻略
- Dbutils
- 批处理制作静默安装(后台安装)程序包
- 关于const修饰
- React Native 学习笔记(九)--网络请求 & 界面跳转
- IO流
- 全局Result(让多个action公用一个result)
- Android SDK下载和更新失败的解决方法
- Linux服务器crontab的使用
- java之旅之习题大作战