乐趣区

关于java:DBUtilsQueryRunner实现增删改操作

外围办法

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();
        }

    }
}
退出移动版