mybatis中使用in查询时的注意事项
2016-06-26 16:07
513 查看
一、 当查询的参数只有一个时
findByIds(List ids)
a. 如果参数的类型是List, 则在使用时,collection属性要必须指定为 list
findByIds(Long[] ids)
b. 如果参数的类型是Array,则在使用时,collection属性要必须指定为 array
二、当查询的参数有多个时,例如 findByIds(String name, Long[] ids)
这种情况需要特别注意,在传参数时,一定要改用Map方式, 这样在collection属性可以指定名称
下面是一个示例
findByIds(List ids)
a. 如果参数的类型是List, 则在使用时,collection属性要必须指定为 list
<select id="getPostOrderListByParam" resultType="com.qlyd.common.po.post.PostInfo" parameterType="com.qlyd.common.inparam.manage.postmanage.PostManageQueryParam"> select inner_id,circle_id, user_id, user_type, word_content, img_content, status, publish_time, comment_sum, view_sum, order_num, perfect_num from circle_posts_info WHERE <if test="circle_id !=null"> circle_id=#{circle_id} and order_num !=1000 <if test="postids !=null"> or inner_id in <foreach item="item" index="index" collection="postids" open="(" separator="," close=")"> #{item} </foreach> </if> order by order_num,publish_time DESC </if> <if test="circle_id ==null"> perfect_num !=1000 <if test="postids !=null"> or inner_id in <foreach item="item" index="index" collection="postids" open="(" separator="," close=")"> #{item} </foreach> </if> order by perfect_num,publish_time DESC </if> </select>
findByIds(Long[] ids)
b. 如果参数的类型是Array,则在使用时,collection属性要必须指定为 array
<select id="findByIdsMap" resultMap="BaseResultMap"> select <include refid="Base_Column_List" /> from jria where ID in <foreach item="item" index="index" collection="array" open="(" separator="," close=")"> #{item} </foreach> </select>
二、当查询的参数有多个时,例如 findByIds(String name, Long[] ids)
这种情况需要特别注意,在传参数时,一定要改用Map方式, 这样在collection属性可以指定名称
下面是一个示例
Map<String, Object> params = new HashMap<String, Object>(2); params.put("name", name); params.put("ids", ids); mapper.findByIdsMap(params); <select id="findByIdsMap" resultMap="BaseResultMap"> select <include refid="Base_Column_List" /> from jria where ID in <foreach item="item" index="index" collection="ids" open="(" separator="," close=")"> #{item} </foreach> </select>
相关文章推荐
- java关键字、标识符
- Rolling Variance
- WebService三大基本元素 SOAP WSDL UDDI
- python - 类的特殊成员
- URL和URI的区别和联系
- KMP
- 1A. Theatre Square
- C++拷贝构造函数详解
- ajax练习习题三搜索
- GDB技巧整理
- 1A. Theatre Square
- 二叉搜索树(Binary Search Tree)
- 玩转京东暨618狂欢节回顾
- git 新建服务器的版本以及项目的用户
- Chapter 2 命令行基础(1)
- 派生类的构造函数
- GIT——乱乱的理解
- 【初探】排序算法
- poj3352 Road Construction
- GCC相关的环境变量