zoukankan      html  css  js  c++  java
  • MyBatis中动态sql的模糊搜索、foreach实现In集合的用法

    场景

    在使用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了。

    博客园: https://www.cnblogs.com/badaoliumangqizhi/ 关注公众号 霸道的程序猿 获取编程相关电子书、教程推送与免费下载。
  • 相关阅读:
    【Office Web Apps】在 SharePoint 中使用 Office Web Apps
    css轮廓
    css定位
    css盒子模型 css3盒子相关样式
    css常用操作
    css3选择器
    强制换行和禁止换行
    text-transform 字母的大小写
    css hack
    JavaScript基本语法
  • 原文地址:https://www.cnblogs.com/badaoliumangqizhi/p/13358101.html
Copyright © 2011-2022 走看看