DRP—SQL批量删除

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DRP—SQL批量删除相关的知识,希望对你有一定的参考价值。

 1     /**
 2      * 批量删除用户
 3      * 
 4      * 采用一条语句完成删除
 5      * 只提交一次
 6      * 
 7      * 采用Statement拼串方式
 8      * delete from t_user where user_id in (‘aaaa‘, ‘afff‘, ‘eeee‘)
 9      * @param userIds
10      */
11     public void delUser(String[] userIds) {
12         StringBuilder sbStr = new StringBuilder();
13         for (int i=0; i<userIds.length; i++) {
14             sbStr.append("‘")
15             .append(userIds[i])
16             .append("‘")
17             .append(",");
18         }
19         String sql = "delete from t_user where user_id in (" + sbStr.substring(0, sbStr.length() - 1) + ")";
20         System.out.println("UserManager.delUser() -->>" + sql);
21         Connection conn = null;
22         Statement stmt = null;
23         try {
24             conn = DbUtil.getConnection();
25             stmt = conn.createStatement();
26             stmt.executeUpdate(sql);
27         }catch(SQLException e) {
28             e.printStackTrace();
29         }finally {
30             DbUtil.close(stmt);
31             DbUtil.close(conn);
32         }
33     }

 

 1 /**
 2      * 批量删除用户
 3      * 
 4      * 采用一条语句完成删除
 5      * 只提交一次
 6      * 
 7      * 采用PreparedStatement占位符方式
 8      * 
 9      * delete from t_user where user_id in (?, ?, ?)
10      * @param userIds
11      */
12     public void delUser(String[] userIds) {
13         StringBuilder sbStr = new StringBuilder();
14         for (int i=0; i<userIds.length; i++) {
15             sbStr.append("?");
16             if (i < (userIds.length - 1)) {
17                 sbStr.append(",");
18             }
19         }
20         String sql = "delete from t_user where user_id in (" + sbStr.toString()  +  ")";
21         System.out.println("UserManager.delUser() -->>" + sql);
22         Connection conn = null;
23         PreparedStatement pstmt = null;
24         try {
25             conn = DbUtil.getConnection();
26             pstmt = conn.prepareStatement(sql);
27             for (int i=0; i<userIds.length; i++) {
28                 pstmt.setString(i + 1, userIds[i]);
29             }
30             pstmt.executeUpdate();
31         }catch(SQLException e) {
32             e.printStackTrace();
33         }finally {
34             DbUtil.close(pstmt);
35             DbUtil.close(conn);
36         }
37     }    

 

JDBC 笔记3 通过PreparedStatement 对数据库进行增删改查

总结:不断提高自己的编程效率!~~~~~

以上是关于DRP—SQL批量删除的主要内容,如果未能解决你的问题,请参考以下文章

Mybaits的批量操作包括批量删除 批量增加和批量更新

MyBatis动态SQL

SQL批量添加,更新,删除

批量删除 添加 表主键 sql-- 存储过程

sql server有批量插入和批量更新的sql语句吗

sql命令删除id用SQL语句批量删除指定ID