mybatis注解版in查询、字符串判空模糊匹配 、批量插入、插入返回主键、判断集合是否为空

 

IN查询

复制代码
@Select({"<script> " +
            " select * "+
            " from business_threat bt \n" +
            " join abnormal_event_type aet on bt.event_type_id = aet.id " +
            " where 1=1 " +
            " <if test = ' ids != null'> " +
            " and bt.id in " +
            " <foreach item = 'item' index = 'index' collection = 'ids' open = '(' separator = ',' close = ')' > " +
            " #{item} " +
            " </foreach> " +
            " </if> " +
            "</script>"})
    List<BusinessThreatVO> getByBusinessThreadId(@Param("ids") List<Long> ids);
复制代码

 

 

模糊查询  &apos;  &apos;这个就是 表示不等于空字符串

"<if test='userName !=null and userName!= &apos;&apos; ' >" +
            " and u.user_name like  CONCAT('%',#{userName},'%') " +
            " </if>" +

 

 

 

批量插入

复制代码
@Insert({
 "<script>",
 "insert into table_name(column1, column2) values ",
 "<foreach collection='lists' item='item' index='index' separator=','>",
 "(#{item.实体属性1}, #{item.实体属性2})",
 "</foreach>",
 "</script>"
})
int insertCollectList(@Param(value="lists") List<Test> lists);
复制代码

 

插入数据返回主键

 @Options(useGeneratedKeys = true,keyProperty ="id(主键的字段)")
    @Insert(" insert into user (id, user_name, ”)

 

判断集合是否为空

<!-- 检查集合是否不为空 -->
    <if test="yourList != null and yourList.size() > 0">
        AND a.column IN
        <foreach collection="yourList" item="item" open="(" separator="," close=")">
            #{item}
        </foreach>
    </if>

 

posted @   yvioo  阅读(507)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示