最近用到mysql和mybatis结合常用的知识点坐下整理

1、当用到集合in(x,x...)参数可以单个或者多个 ,当为单个时:

findbyIds(List<Long> ids),或者findByids(Long [] ids)

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

     Select
         <include refid="Base_Column_List" />
         from jria where ID in
                 <foreach item="item" index="index" collection="list"
                        open="(" separator="," close=")">
                       #{item}
               </foreach>

 </select>

当为数组时 collection="array"

当查询的参数有多个时,例如 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>
posted @ 2016-08-26 11:08  挖坑大王  阅读(349)  评论(0编辑  收藏  举报