Mybatis if test 判断 list不为 null 并且判断集合大小不为0

Posted 早起的年轻人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mybatis if test 判断 list不为 null 并且判断集合大小不为0相关的知识,希望对你有一定的参考价值。

1 基本使用方法

<if test="list!=null and list.size()!=0">

</if>

2 结合 In 条件判断

如查询两个用户的用户信息,SQL 如下

select * from user where id in ( '1231' , '2323' )

在使用Mybaits 查询里,传入所要查询的用户 ID 集合,可以是数组也可以是集合类型。

如果参数的类型是List, 则在使用如下

mapper java 中 定义接口

List<User> selectByIds(List idList);

<select id="selectByIds" resultMap="BaseResultMap">
	SELECT
	*
	from t_user
	WHERE 1=1
	 <if test="idList!=null ">
            and id in
            <foreach collection="idList" item="id" index="index" open="(" close=")" separator=",">
                #id
            </foreach>
        </if>
</select>

  • collection:该属性的对应方法的参数类型可以是List、数组、Map。如果方法的参数类型不属于前三种,则必须和方法参数@Param指定的元素名一致。
  • item: 表示迭代过程中每个元素的别名。可以随便起名,但是必须跟元素中的#里面的名称一致。
  • index:表示迭代过程中每次迭代到的位置(下标)
  • open:前缀
  • close:后缀
  • separator:分隔符,表示迭代时每个元素之间以什么分隔。`

以上是关于Mybatis if test 判断 list不为 null 并且判断集合大小不为0的主要内容,如果未能解决你的问题,请参考以下文章

mybatis 并且的判断

mybatis 空字符串 为啥变为null

hibernate多表联合查询返回的list没有数据,但list.isEmpty()判断为啥不为真

Mybatis中关于字符串字段的判断不为空且不为null

mybatis条件判断

mybatis if test 判断字符串的坑