1.概述
- DBUtils是java编程中的数据库操作实用工具,小巧简单实用。
- DBUtils封装了对JDBC的操作,简化了JDBC操作,可以少写代码。
- Dbutils三个核心功能介绍
- QueryRunner中提供对sql语句操作的API.
- ResultSetHandler接口,用于定义select操作后,怎样封装结果集.
- DbUtils类,它就是一个工具类,定义了关闭资源与事务处理的方法
2.QueryRunner核心类
- update(Connection conn, String sql, Object… params) ,用来完成表数据的增加、删除、更新操作
- query(Connection conn, String sql, ResultSetHandler
rsh, Object… params) ,用来完成表数据的查询操作
3.QueryRunner实现添加、更新、删除操作
update(Connection conn, String sql, Object… params) ,用来完成表数据的增加、删除、更新操作
package cn.hiluna.demo2;
import java.sql.Connection;
import java.sql.SQLException;
import org.apache.commons.dbutils.DbUtils;
import org.apache.commons.dbutils.QueryRunner;
import cn.hiluna.jdbcutil.JDBCUtilsConfig;
/*
* 使用QueryRunner类,实现对数据表的
* insert delete update
* 调用QueryRunner类的方法update(Connection con ,String sql, Object ...param)
* Object...param可变参数,Object类型,sql语句会出现?占位符。
* 数据库连接对线,自定义的工具类传递
*/
public class QueryRunnerDemo {
private static Connection connection = JDBCUtilsConfig.getConnection();
public static void main(String[] args) throws Exception {
// insert();
//update();
delete();
}
/*
* 定义方法,使用QueryRunner类的方法delete将数据表的数据删除
*/
public static void delete() throws SQLException {
// 创建一个QueryRunner类的对象
QueryRunner queryRunner = new QueryRunner();
// 写修改数据的SQL语句
String sql = "delete from sort where sid=?";
// 调用QueryRunner方法update
int row = queryRunner.update(connection, sql, 7);
System.out.println(row);
/*
* 判断insert update delete 是否执行成功
* 对返回值row进行判断
* if(row > 0)执行成功
*/
DbUtils.closeQuietly(connection);
}
/*
* 定义方法,使用QueryRunner类的方法update将数据表的数据修改
*/
public static void update() throws SQLException {
// 创建一个QueryRunner类的对象
QueryRunner queryRunner = new QueryRunner();
// 写修改数据的SQL语句
String sql = "update sort set sname=?,sprice=?,sdesc=? where sid=?";
// 顶一个一个object数组,存储?中的实际参数
Object[] params = { "花卉", 100.88, "情人节玫瑰花", 4 };
// 调用QueryRunner类方法update
int row = queryRunner.update(connection, sql, params);
System.out.println(row);
DbUtils.closeQuietly(connection);
}
/*
* 定义方法,使用QueryRunner类的方法update向数据表中,添加数据
*/
public static void insert() throws SQLException {
// 创建一个QueryRunner类的对象
QueryRunner queryRunner = new QueryRunner();
// 将3个问好占位符实际参数,写在数组中
Object[] params = { "中文", 289.32, "medic" };
// 调用QueryRunner类的方法update执行sql语句
String sql = "insert into sort (sname,sprice,sdesc)values(?,?,?)";
int row = queryRunner.update(connection, sql, params);
System.out.println(row);
DbUtils.closeQuietly(connection);
}
}