Mybatis批量删除

Mybatis批量删除一 Mybatis 批量删除重点 foreachforea 的主要用在构建 in 条件中 它可以在 SQL 语句中进行迭代一个集合 foreach 元素的属性主要有 item 表示集合中每一个元素进行迭代时的别名 index 指定一个名字 用于表示在迭代过程中 每次迭代到的位置 collection 在不同情况下 该属性的值是不一样的 open 表示该语句以什么开始 separato

一、Mybatis批量删除重点foreach

foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合。

foreach元素的属性主要有 :

item, 表示集合中每一个元素进行迭代时的别名

index,指 定一个名字,用于表示在迭代过程中,每次迭代到的位置

collection,在不同情况下,该属性的值是不一样的

open,表示该语句以什么开始

separator,表示在每次进行迭代之间以什么符号作为分隔符

close,表示以什么结束

在使用foreach的时候最关键的也是最容易出错的就是collection属性,在不同情况下,该属性的值是不一样的,

主要有3种情况:

(1)如果传入单参数且参数类型是List的时候,collection属性值为list .

(2)如果传入单参数且参数类型是array数组的时候,collection的属性值为array 

(3)如果传入多个参数是的时候,我们就需要把它们封装成一个Map 而 collection的值是传入的参数Map的key

二、第一种:Mybatis批量删除自定义方法 

Mapper.xml

 
     
  
           DELETE FROM tb_menu WHERE id IN        
   
                #{id}        
       
  

Mapper.java/ Service.java

void deleteByIds(String[] ids);

ServiceImpl.java

 @Override     public void delByIds(String[] ids) {        // TODO Auto-generated method stub         menuMapper.deleteByIds(ids);     }

Controller.java

 @RequestMapping(value="/delByIds", method=RequestMethod.POST)     @ResponseBody     public JSONObject delByIds(@RequestParam("ids[]") String[] ids) {        System.out.println("delByIds "+ids.toString());        menuService.delByIds(ids);         JSONObject json = new JSONObject();         json.put("code", 0);         return json;     }

三、第二种:Mybatis自带的方法

Mybatis自带的一种方法,这种批量删除的id是以集合List传递

 public void delByIds(List ids) {     // TODO Auto-generated method stub     TbMenuExample example = new TbMenuExample (); Criteria criteria = example.createCriteria(); criteria.andIdsIn(ids); menuMapper.deleteByExample(example); //用这个方法 }

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/176065.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午10:46
下一篇 2026年3月26日 下午10:47


相关推荐

  • apache基于域名虚拟主机配置_php配置虚拟主机

    apache基于域名虚拟主机配置_php配置虚拟主机一、apache虚拟主机的配置1、首先在apache的安装目录下找到conf目录下找到httpd.conf文件然后搜索hosts找到把前面的井号去掉即可启动虚拟主机2、然后在apache的安装目录下找到conf目录下的extra找到httpd-vhosts.conf文件在文件最后添加类似我下面的配置,详细参数见说明我这里以myvirtualho

    2025年12月9日
    8
  • 用bat批量重命名图片_快速批量修改图片名称

    用bat批量重命名图片_快速批量修改图片名称问题描述:业务中遇到需要批量修改大量图片的名字。如下图,需要修改为图片名字“u=”之后和“,”之前的那一串解决思路1:bat批处理,网上查找相关代码如下:1@echooff2SetL

    2022年8月5日
    12
  • python执行测试用例_java随机函数random使用方法

    python执行测试用例_java随机函数random使用方法前言通常我们认为每个测试用例都是相互独立的,因此需要保证测试结果不依赖于测试顺序,以不同的顺序运行测试用例,可以得到相同的结果。pytest默认运行用例的顺序是按模块和用例命名的ASCII编码

    2022年7月28日
    13
  • 5分钟商学院之个人篇–思考能力和谈判能力

    1.思考能力1.1六顶思考帽什么是六顶思考帽?每个人都有六顶不同颜色,代表不同思维方式的"帽子",分别是:(1)代表信息的白帽,充分搜索数据、信息和所有需要了解的情况

    2021年12月30日
    44
  • es6数组 newSet 数组去重 并集 交集 差集

    es6数组 newSet 数组去重 并集 交集 差集数组去重vararr=[1,2,3,3,1,4];[…newSet(arr)];//[1,2,3,4]Array.from(newSet(arr));//[1,2,3,4][…newSet(‘ababbc’)].join(’’);//“abc”字符串去重newSet(‘icedoughnut’);//Set(11){“i”,“c”,“e”,””,“d”,…}并集vara=newSet([1,2,3]);varb=ne

    2025年7月27日
    5
  • 使用arcmap进行图层合并步骤

    使用arcmap进行图层合并步骤br 使用 arcmap 进行图层合并步骤 br 1 将要合并的图层加入到 arcmap 中 如待合并的图层名称为 面状水系 1 和 面状水系 br nbsp nbsp nbsp 要达到的目的是将 面状水系 1 图层中的内容合并到 面状水系 图层中 br 2 打开 ArcToolBox 双击 DataManageme 打开图层合并对话框 br 3 在 InputDataset 中选择 面状水系 1 图层 在 TargetDatase 中选择 面状水系 图层

    2026年3月17日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号