MyBatis中动态sql的模糊搜索、foreach实现In集合的用法

摘要:
includereifid=“selectKqDkszVoJoinJibenXinXi”/>=''“>publicintdeleteKqBcglXiangxiByIds(长[]id);deleteid=”deleteKQBcglXingxiById”parameterType=“String”>
场景

在使用MyBatis的动态sql时,常见的是传递一个ID的数组,查询记录的

ID在这个数组中的记录和模糊搜索这两种场景。

注:

博客:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

实现

模糊搜索的实现

mapper接口写法:

public List<KqDksz> selectKqDkszListBySx(String xm);

xml写法:

    <select id="selectKqDkszListBySx"  resultMap="KqDkszResult">
        <include refid="selectKqDkszVoJoinJibenXinXi"/>
        <where>
            <if test="xm != null  and xm != ''"> and j.xm like concat('%', #{xm}, '%')</if>
        </where>
    </select>

foreach实现in集合

mapper层接口写法:

public int deleteKqBcglXiangxiByIds(Long[] ids);

xml写法:

    <delete id="deleteKqBcglXiangxiByIds" parameterType="String">
        delete from kq_bcgl_xiangxi where ID in 
        <foreach item="id" collection="array" open="(" separator="," close=")">
            #{id}
        </foreach>
    </delete>

注意:

这里的参数为数组参数,就需要把collection属性设置为array

但是这是数组默认的名字,推荐使用@Param来指定参数的名字,这时collection就设置为通过@Param注解指定的名字。

比如:

 public List<KqKqrysz> selectKqKqryszListBySx(@Param("badao")Long[] bmids);

对应的是

             <foreach collection="badao" item="item" open="(" separator="," close=")">
               ${item}
             </foreach>

如果这里不是数组而是list的话,那么其collection默认的就是list而不是array了。

免责声明:文章转载自《MyBatis中动态sql的模糊搜索、foreach实现In集合的用法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇枚举类的作用Spring学习(四)Spring IOC下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

调试lua代码

lua没有调试器,但是它提供了很强的调试功能(debug 库), 所以其实一些常用的调试功能都能很方便的使用,就像使用一个命令行调试器一样: 【例子程序】 -- debug.luagvar1 = 100 function foo() local var2 = 10 function bar()...

CSS之显示天气

 这个可以有,自从有了这个,以后查询天气就方便多了,哈哈。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <head> <titl...

angular2 支持排序的拖拽组件ng2-dragula

    最近项目上遇到需要拖拽的需求,于是就在github上找了一些相关组件,最后看中了ng2-drag-drop和ng2-dragula,但是ng2-drag-drop组件本身拖拽的时候不支持拖拽元素放在拖拽目标的任意位置,只能放置在拖拽目标那一列的最后。所以最后使用了ng2-dragula。 github地址:https://github.com/va...

vue+element-ui el-table表格(含表头)内容溢出省略,鼠标悬浮提示

第一种:参考:https://my.oschina.net/u/3455362/blog/4674804 <template> <div class="test"> <el-table :data="gridData" border stripe style=" 100%"> &...

集合工具类CollectionUtils、ListUtils、SetUtils、MapUtils的使用

要使用这个工具类,我们要在maven工程当中加入相应的依赖: <dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> <version>...

IDA破解最简单的登陆框

原创文章,转载请注明出处:http://www.cnblogs.com/justinzhang/       还记得当年本科的时候,一大群人围着一个国安的登陆框在哪儿破解。其实自己对安全方面的东西了解的非常的少,最近遇到一个非常牛逼的UML工具,可惜没有源代码、没有文档,在这种霸道的封杀之下,又点燃了学习反汇编&破解的热情。虽然这是一个非常非常简单...