核心方法

update(Connection conn, String sql, Object...params)

参数说明
Connection conn数据库连接对象
String sql占位符形式的SQL
Object...paramObject类型的数组(或单一数据),用来设置占位符上的参数
  • 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();
        }

    }
}

chain_xx_wdm
64 声望2 粉丝

1.领养代替买卖