文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

mybatis foreach循环list的示例分析

2023-06-29 15:46

关注

这篇文章主要为大家展示了“mybatis foreach循环list的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“mybatis foreach循环list的示例分析”这篇文章吧。

foreach 循环 list(map)

直接上代码:

整体需求就是

分页对象里面有map map里面又有数组对象

分页对象里面有list list里面有map map里面有数组对象。

public class Page {    private Map maps;    private List lists;    public Map getMaps() {        return maps;    }    public void setMaps(Map maps) {        this.maps = maps;    }    public List getLists() {        return lists;    }    public void setLists(List lists) {        this.lists = lists;    }}   String [] str = {"1,2"};Page page = new Page(); 实体分页对象(包括其他页面属性)  maps.put("str", str);   批量查询的ID  page.setMaps(maps);     maps对象保存在分页属性中  List<Map> mapTest = userService.mapTest(page);  System.out.println(mapTest);

需求。请求前台页面的时候 需要传多个订单号比如1,2

然而其他参数也要有。就要用到分页实体 跟map结合 分页实体保存其他属性。map保存要循环的ID 或是订单号

mybatis.foreach循环如下

mybatis foreach循环list的示例分析

这里只做ID或是订单ID的演示,普通属性#{id}就行。

取page.maps.str(str是一个数组)

在collection 这里面直接写    入参.maps

如果入参是LIST

稍微改一下即可

源数据

  maps.put("str", str);  list.add(maps);  List<Map> mapTest = userService.mapTest1(list);  System.out.println(mapTest);
<foreach item="items" index="index" collection="list" open="("  separator=","  close=")"> -->      <foreach item="item" index="index" collection="items.str" open="("  separator=","  close=")"   >                #{item}      </foreach></foreach>

mybatis foreach循环list的示例分析

原理就是 先告诉mybatis我要先循环list然后拿到list里面的map.str 即可。

使用foreach处理list中的map

参数的数据结构是一个ArrayList<Map<String, Integer>>,需要以String,Integer为条件批量更新数据库的数据.

将参数封装到叫做JsonData的qv中,JsonData的关键代码是

    private ArrayList<Map<String, Integer>> usersPlatforms;    public ArrayList<Map<String, Integer>> getUsersPlatforms() {        return usersPlatforms;    }     public void setUsersPlatforms(ArrayList<Map<String, Integer>> usersPlatforms) {        this.usersPlatforms = usersPlatforms;    }

Mapper中的方法是

updateXxxx(JsonData jsonData);

Mapper.xml的sql是

<update id="updateXxxx" parameterType="JsonData">        UPDATE xxx SET `xx` = 10        <where>            <foreach collection="usersPlatforms" item="userPlatform" open="" close="" separator="OR">                <foreach collection="userPlatform.keys" item="key" open=" user_id = " close="" separator="">                    #{key}                </foreach>                <foreach collection="userPlatform.values" item="value" open=" AND platform = " close="" separator="">                    #{value}                </foreach>            </foreach>        </where>    </update>

以上是“mybatis foreach循环list的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯