核心方法
update(Connection conn, String sql, Object...params)
参数 | 说明 |
---|---|
Connection conn | 数据库连接对象 |
String sql | 占位符形式的SQL |
Object...param | Object类型的数组(或单一数据),用来设置占位符上的参数 |
Connection conn
: 自动模式创建QueryRunner对象时无需提供,手动模式创建时必须提供String sql
: 使用?进行占位
步骤概述
- 创建QueryRunner对象(手动或自动)
- 占位符方式编写SQL
- 设置占位符参数
- 执行
代码示例
/**
* 项目描述: 使用QueryRunner类执行增删改操作
* 作 者: chain.xx.wdm
*/
public class QueryRunnerInsertTest {
/**
* 使用无参方式构造QueryRunner对象,即手动模式,向数据表中插入数据
* */
@Test
public void insertTest(){
Connection connection = null;
try {
// 1.使用无参方式构造QueryRunner的对象
QueryRunner queryRunner = new QueryRunner();
// 2.获取连接
connection = DruidUtils.getConnection();
// 3.使用占位符方式编写sql语句
String sql = "insert into employee values (?,?,?,?,?,?)";
// 4.创建Object类型的数组,元素内容是要替换占位符的数据
Object[] param = {null,"张百万",25,"男",5000,"2019-11-11"};
// 5.执行sql语句
queryRunner.update(connection,sql,param);
} catch (SQLException throwables) {
throwables.printStackTrace();
} finally {
// 6.关闭对象
DbUtils.closeQuietly(connection);
}
}
/**
* 使用无参方式构造QueryRunner对象,即手动方式修改数据
* */
@Test
public void updateTest(){
Connection connection = null;
try {
// 1.使用无参方式构造QueryRunner对象
QueryRunner queryRunner = new QueryRunner();
// 2.获取连接
connection = DruidUtils.getConnection();
// 3.编写占位符形式sql语句
String sql = "update employee set salary = ? where ename = ?";
// 4.创建Object数组,数组元素是替换占位符的数据
Object[] param = {5555,"张百万"};
// 5.执行更新操作
queryRunner.update(connection,sql,param);
} catch (SQLException throwables) {
throwables.printStackTrace();
} finally {
// 6.关闭对象
DbUtils.closeQuietly(connection);
}
}
/**
* 使用有参方式构造QueryRunner对象,即自动模式实现删除数据
* */
@Test
public void deleteTest(){
try {
// 1。使用有参方式构造QueryRunner对象
QueryRunner queryRunner = new QueryRunner(DruidUtils.getDataSource());
// 2。创建占位符形式的sql语句
String sql = "delete from employee where eid = ?";
// 3。创建Object类型数组,数组内元素是替换占位符的数值
//Object[] param = {3}; // 只有一个占位符,可以不使用数组
// 3。执行更新操作
queryRunner.update(sql,1);
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。