mybatis 以及 mybatisplus 根据queryWrapper条件批量删除
需求背景 需要大量的替换数据 根据 学校和年级相同的全部删除 再增加 更明白点 本案例是 根据非id的字段值批量删除 刚开始使用foreach ,但是涉及到两个字段值
上代码案例if (list != null ){ //将数据库的现有的删除 QueryWrapper queryWrapper = new QueryWrapper(); for (String key : list) { String[] values = key.split("_"); queryWrapper.eq(“school_title”,values[0]);//满足的条件 queryWrapper.eq(“grade_info_title”,values[1]); queryWrapper.or(); } baseMapper.delete(queryWrapper); }
queryWrapper.or();会自动进行拼接 *~~ 请看后台执行的sql语句~~ *JDBC Connection [HikariProxyConnection@1754439784 wrapping com.mysql.cj.jdbc.ConnectionImpl@694c8cb3] will not be managed by Spring
==> Preparing: DELETE FROM test WHERE school_title = ? AND grade_info_title = ? OR school_title = ? AND grade_info_title = ?
==> Parameters: 南昌一中(String), 高一(String), 南昌二中(String), 高一(String)
<== Updates: 200
学习的路上永无止境 如有需要改善的地方 欢迎同道中人给出建议!