mybatis 中 foreach collection的两种用法

发布时间:2025-11-26 04:02

归纳法与演绎法:合理运用这两种推理方法。 #生活技巧# #学习技巧# #解决问题的思考技巧#

最新推荐文章于 2025-10-20 15:58:08 发布

原创 于 2018-08-30 19:41:21 发布 · 1.2k 阅读

· 0

· 0 ·

CC 4.0 BY-SA版权

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

针对list 和map结构的传参

代码如下

controller

//测试传入参数为list结构 mybatis

@RequestMapping(value = "/demo/getMemberByListId", method = RequestMethod.POST, produces = "application/json; charset=UTF-8")

@ResponseBody

public List<Member> getMemberByList()

throws BizException {

List<Integer> ids = new ArrayList<>();

ids.add(1);ids.add(2);

List<Member> r = new ArrayList<Member>();

r = memberService.getMemberByListId(ids);

return r;

}

//测试传入参数为map结构 mybatis

@RequestMapping(value = "/demo/getMemberByMapId", method = RequestMethod.POST, produces = "application/json; charset=UTF-8")

@ResponseBody

public List<Member> getMemberByMapId()

throws BizException {

List ids = new ArrayList();

ids.add(1);

ids.add(2);

Map params = new HashMap();

params.put("ids", ids);

List<Member> r = new ArrayList<Member>();

r = memberService.getMemberByMapId(params);

return r;

}

service

List<Member> getMemberByListId(List<Integer> ids);

List<Member> getMemberByMapId(Map params);

serviceImpl

@Override

public List<Member> getMemberByListId(List<Integer> ids) {

return this.memberMapper.getMemberByListId(ids);

}

@Override

public List<Member> getMemberByMapId(Map params) {

return this.memberMapper.getMemberByMapId(params);

}

mapper.java

List<Member> getMemberByListId(@Param("ids")List<Integer> ids);

List<Member> getMemberByMapId(Map params);

mapper.xml

<resultMap id="BaseResultMap" type="com.fomoney.chaosfomoney.dal.entity.Member">

<id column="uid" property="uid" jdbcType="BIGINT" />

<result column="employee_id" property="employeeId" jdbcType="CHAR" />

<result column="gender" property="gender" jdbcType="BIT" />

<result column="nickname" property="nickname" jdbcType="VARCHAR" />

<result column="uname" property="uname" jdbcType="VARCHAR" />

<result column="passwd" property="passwd" jdbcType="VARCHAR" />

<result column="email" property="email" jdbcType="VARCHAR" />

<result column="portrait" property="portrait" jdbcType="VARCHAR" />

<result column="big_portrait" property="bigPortrait" jdbcType="VARCHAR" />

<result column="phone" property="phone" jdbcType="CHAR" />

<result column="reg_time" property="regTime" jdbcType="INTEGER" />

<result column="login_num" property="loginNum" jdbcType="INTEGER" />

<result column="last_login" property="lastLogin" jdbcType="INTEGER" />

<result column="last_ip" property="lastIp" jdbcType="VARCHAR" />

<result column="is_supper" property="isSupper" jdbcType="TINYINT" />

<result column="timeline" property="timeline" jdbcType="TIMESTAMP" />

<result column="union_id" property="unionId" jdbcType="VARCHAR" />

</resultMap>

<select id="getMemberByListId" resultMap="BaseResultMap">

select

<include refid="Base_Column_List" />

from member where uid in

<foreach collection="ids" index="index" item="item" open="(" separator="," close=")">

#{item}

</foreach>

</select>

<select id="getMemberByMapId" resultMap="BaseResultMap">

select

<include refid="Base_Column_List" />

from member where uid in

<foreach collection="ids" index="index" item="item" open="(" separator="," close=")">

#{item}

</foreach>

</select>

参考:https://blog.csdn.net/qq_24084925/article/details/53790287

网址:mybatis 中 foreach collection的两种用法 https://www.yuejiaxmz.com/news/view/1410449

相关内容

mybatis中批量插入的两种方式 高效插入
mybatis中的不起作用
Mybatis
PHP foreach的两种用法 as $key => $value
mybatis批量更新数据三种方法效率对比
mybatis中xml文件的核心
【前端】Object.keys()的使用方法及数组遍历,Object.keys(object).forEach(e => {您的代码})
springboot mybatis多数据源的两种整合方法
MySQL实现序列(Sequence)效果以及在Mybatis中如何使用这种策略
【SpringBoot】整合Mybatis

随便看看