mybatis判断list不为空/大小的问题

目录
  • mybatis判断list不为空
  • mybatis判断两个集合是否为空

mybatis判断list不为空

    <if test="status != null and status.size()>0" >
      and s.orderstatus in 
      <foreach collection="status" item="listItem" open="(" close=")" separator="," >
        #{listItem}
      </foreach>
    </if>   

建议对特殊字符进行处理

    <if test="status != null and status.size() &gt; 0" >
      and s.orderstatus in 
      <foreach collection="status" item="listItem" open="(" close=")" separator="," >
        #{listItem}
      </foreach>
    </if>   

mybatis判断两个集合是否为空

在工作中遇到mybatis中判断两个集合是否为空,不为空的话遍历;都为空执行  1=0 or 1=0,则查询出来空集合

select login,name,email from users u where
<choose>
    <when test="sameEmailList != null and sameEmailList.size > 0 ">
        email in <foreach collection="sameEmailList" item="email" open="(" separator="," close=")">
        #{email, jdbcType=VARCHAR}
        </foreach>
    </when>
    <otherwise>
        1 = 0
    </otherwise>
</choose>
<choose>
    <when test="sameNameList != null and sameNameList.size > 0">
        or name in <foreach collection="sameNameList" item="name" open="(" separator="," close=")">
        #{name, jdbcType=VARCHAR}
    </foreach>
    </when>
    <otherwise>
        or 1 = 0
    </otherwise>
</choose>
ORDER by name, email ASC

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Mybatis 中如何判断集合的size

    Mybatis中判断集合的size,可以用下面的方法来做. <if test="null != staffCodeList and staffCodeList.size > 0"> and gui.USER_CODE not in <foreach collection="staffCodeList" item="staffCode" open="(" separator="," c

  • 详解Mybatis 传递参数类型为List的取值问题

    问题描述: 参数传递为List时: 当传递一个 List 实例或者数组作为参数对象传给 Mybatis.此时,Mybatis 会自动将它包装在一个 Map 中,用名称在作为键.List 实例将会以"list" 作为键,而数组实例将会以"array"作为键.所以,当我们传递的是一个List集合时,mybatis会自动把我们的list集合包装成以list为Key值的map. DAO 层: List<User> selectUserByIDs( List ID

  • mybatis 如何判断list集合是否包含指定数据

    需求 1.在mybatis脚本中想要判断list中是否含有某个字符串. 2.动态使用list中的属性,添加到数据库crud字段. 网上也没搜到类似的案例,配置choose功能,可以方便做写动态sql拼装,所以记录下. 准备 之前脚本中用的最多的list函数就是size和遍历了.那么mybatis脚本中是不是又包含函数了.首先我们要清楚list的类型.写个简单的测试用例. <select id="test" parameterType="java.util.Map&quo

  • Mybatis查询条件包含List的情况说明

    目录 查询条件包含List的情况 在mybatis中查询的语句 查询条件带List和其他类型字段 需求 查询条件包含List的情况 在mybatis中进行搜索时,有时候参数中包含了List,比如传入参数: public class FileRequest{ //文件类型 private Integer fileType; //状态 private List<Status> statusList; } public class Status{ //注册状态 private Integer reg

  • mybatis判断list不为空/大小的问题

    目录 mybatis判断list不为空 mybatis判断两个集合是否为空 mybatis判断list不为空     <if test="status != null and status.size()>0" >       and s.orderstatus in        <foreach collection="status" item="listItem" open="(" close=&q

  • mybatis判断int是否为空的时候,需要注意的3点

    mybatis判断int是否为空的注意点 1.int为空时会自动赋值0,所以必须用integer作为javaBean的属性值类型. 2.必须注意封装的get.set.也是Integer.不然也会报错. 3.注意好以上两个点,直接用null判断 例子: public class ExcelPutVo { private Integer startTime;// 开始时间 private Integer endTime;// 截止时间 private int sentId;// 下达者id priv

  • mybatis中查询结果为空时不同返回类型对应返回值问题

    今天在别人的代码基础上实现新需求,看到对于mybatis查询结果的判断不是很正确,如果查询结果为空就会异常,不知道大家有没有这样的疑惑:mybatis中resultType有多种返回类型,对于每种不同类型,查询结果为空时dao接口的返回值是一样的吗?接下来我就总结一下常见的几种情况. 第一种:resultType为基本类型,如string(在此暂且把string归纳为基本类型) 如果select的结果为空,则dao接口返回结果为null 第二种,resultType为基本类型,如int 后台报异

  • 解析Mybatis判断表达式源码分析

    在我们开发过程中用 Mybatis 经常会用到下面的例子 Mapper如下 Map<String ,String > testArray(@Param("array") String [] array); XMl中的sql如下 <select id="testArray" resultType="map"> select * from t_ams_ac_pmt_dtl where cpt_pro=#{cptProp} &l

  • mybatis-plus 如何判断参数是否为空并作为查询条件

    目录 判断参数是否为空并作为查询条件 只需要在eq条件构造器中只需要添加一句判断即可 StringUtils.isNullOrEmpty()方法作用是 附上isNullOrEmpty()源码 ---[拓展]--- 查询时某些字段为null的问题 判断参数是否为空并作为查询条件 @Override     public Page<DemandEntity> selectByDepartmentDisplay(DemandEntity demandEntity) {         EntityW

  • mybatis if test 不为空字符串或null的解决

    目录 mybatis if test 不为空字符串或null mybatis中if test判断数值字符串注意项 总结 mybatis if test 不为空字符串或null <sql id="public_content"> <if test="productId != null and productId !=''" > and a.product_id = #{productId,jdbcType=VARCHAR} </if>

  • JS集成fckeditor及判断内容是否为空的方法

    本文实例讲述了JS集成fckeditor及判断内容是否为空的方法.分享给大家供大家参考,具体如下: <script type="text/javascript"> <!-- // Automatically calculates the editor base path based on the _samples directory. // This is usefull only for these samples. A real application shoul

  • JavaScript 判断一个对象{}是否为空对象的简单方法

    做项目时遇到一个问题,判断一个对象是否为空对象,发现这样判断可以,上代码: 1. 代码1: var a = {}; if(!a){ console.log(1);} else if(a == null) { console.log(2);} else { console.log(3);} 结果为:3 2. 代码2: var b = {}; if(b == {}){ console.log(4);} if(b == '{}') { console.log(5);} if(typeof(b) ==

  • 如何用JS判断两个数字的大小

    前言: 在判断之前我们要先知道,js中的var定义的变量默认是字符串,如果单纯的比较字符串的话,会出现错误,需要先转化为int类型在做比较. [备注:110和18在你写的程序中是18大的,因为 这两个数都是字符串,而1和1相等之后比较1和8,当然是8大,所以18大.你在比较之前转换成INT型在比 . if(parseInt(num2)>parseInt(num1))  ] 错误实例: <script> function check() { var num1=document.form1.

  • python简单判断序列是否为空的方法

    本文实例讲述了python简单判断序列是否为空的方法.分享给大家供大家参考.具体如下: 假设有如下序列: m1 = [] m2 = () m3 = {} 判断他们是否为空的高效方法是: if m1: ...... if not m2: ...... 希望本文所述对大家的Python程序设计有所帮助.

随机推荐