使用mybatis注解版实现in的sql语句写法,一看就明白

我这里只写mapper文件中的方法以及sql,其它层的请自行补充完整

注解版的mybatis的 in 的用法

@Select("<script> select  recorder_no  from page_element_config_record WHERE company_code IN " +
        "<foreach  item='item' index='index' collection='ids' open='(' separator=',' close=')'> #{item}    </foreach> group by recorder_no order by count(recorder_no) desc limit 2 </script>")
List<String> selectCount(@Param("ids") List<Integer> ids);

说明:1.使用 in 的时候,sql语句必须包含在中,
2.item:给集合遍历取一个变量名,类似增强 for 循环中起的临时变量。
3.index:在list和数组中,index是元素的序号,在map中,index是元素的key
4.collection:程序传过来的值的集合,要做foreach的对象,就是mapper方法中的形参名
5.open:foreach代码的开始符号
6.close:foreach代码的结束符号
7.separator:元素之间的分隔符,上述一“,”分割
8.方法参数中的 @Param 这个注解必须使用,否则会报找不到xxxx

我这里的要求是按照取出数量前两位的 recorder_no

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值