针对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.youkuaiyun.com/qq_24084925/article/details/53790287