DBUtils简介:
DBUtils是java编程中的数据库操作实用工具,小巧简单实用。
DBUtils封装了对JDBC的操作,简化了JDBC操作,可以少写代码。
Dbutils三个核心功能介绍
l QueryRunner中提供对sql语句操作的API.
l ResultSetHandler接口,用于定义select操作后,怎样封装结果集.
l DbUtils类,它就是一个工具类,定义了关闭资源与事务处理的方法
1、DBUtils就是JDBC的简化开发工具包。需要项目导入commons-dbutils-1.6.jar才能够正常使用DBUtils工具。DBUtils是apache commons组件的一个成员。
2、 QueryRunner实现添加、更新、删除操作。 // update(Connection conn, String sql, Object... params) ,用来完成表数据的增加、删除、更新操作
public void insert(){ try { //获取一个用来执行SQL语句的对象 QueryRunner QueryRunner qr = new QueryRunner(); String sql = "INSERT INTO zhangwu(name,money,parent) VALUES(?,?,?)"; Object[] params = {"股票收入", 5500, "收入"}; Connection conn = JDBCUtils.getConnection(); int line = qr.update(conn,sql,params);// 用来完成表数据的增加、删除、更新操作 返回值是更新的条数
//结果集处理 System.out.println("line = " + line); } catch (SQLException e) { throw new RuntimeException(e); } }
3、QueryRunner实现更新: // update(Connection conn, String sql, Object... params) ,用来完成表数据的增加、删除、更新操作
public void update(){ try { //创建一个QueryRunner对象,用来完成SQL语句的执行 QueryRunner qr = new QueryRunner(); //执行SQL语句 String sql = "UPDATE zhangwu SET money = money+1000 WHERE name=?"; Object[] params = {"股票收入"}; Connection conn = JDBCUtils.getConnection(); int line = qr.update(conn, sql, params); //结果集的处理 System.out.println("line="+line); } catch (SQLException e) { throw new RuntimeException(e); } }
4、QueryRunner实现删除: // update(Connection conn, String sql, Object... params) ,用来完成表数据的增加、删除、更新操作
public void delete(){ try { //创建一个QueryRunner对象,用来完成SQL语句的执行 QueryRunner qr = new QueryRunner(); //执行SQL语句 String sql = "DELETE FROM zhangwu WHERE name = ?"; Object[] params = {"股票收入"}; Connection conn = JDBCUtils.getConnection(); int line = qr.update(conn, sql, params); //结果集的处理 System.out.println("line="+line); } catch (SQLException e) { throw new RuntimeException(e); } }
5、QueryRunner实现查询操作 // query(Connection conn, String sql, ResultSetHandler<T> rsh, Object... params) ,用来完成表数据的查询操作
JavaBean就是一个类,在开发中常用封装数据。具有如下特性
- 需要实现接口:java.io.Serializable ,通常实现接口这步骤省略了,不会影响程序。
- 提供私有字段:private 类型 字段名;
- 提供getter/setter方法:
- 提供无参构造
/* * 账务类 */ public class ZhangWu { private int id; private String name; private double money; private String parent; public ZhangWu() { super(); } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public double getMoney() { return money; } public void setMoney(double money) { this.money = money; } public String getParent() { return parent; } public void setParent(String parent) { this.parent = parent; } @Override public String toString() { //该方法可以省略 return "ZhangWu [id=" + id + ", name=" + name + ", money=" + money + ", parent=" + parent + "]"; } }