开发者

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

开发者 https://www.devze.com 2022-12-01 10:33 出处:网络 作者: 在奋斗的大道
目录mybatisiftest不为空字符串或nullmybatis中iftest判断数值字符串注意项总结mybatisiftest不为空字符串或nullsqlid=public_con...
目录
  • 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>
      <if test="productDefinId != null" >
        and a.product_defin_id = #{productDefinId,jdbcType=VARCHAR}www.devze.com
      </if>
      <if test="productUid != null and productUid !=''">
        and a.product_uid = #{productUid,jdbcType=VARCHAR}
      </if>
      <if test="productKey != null" >
        and a.product_key = #{productKey,jdbcType=VARCHAR}
      </if>
      <if test="prouuctSecret != null" >
       编程 and a.prouuct_secret = #{prouuctSecret,jdbcType=VARCHAR}
      </if>
      <if test="productPass != null" >
        and a.product_pass = #{productPass,jdbcType=VARCHAR}
      </if>
      <if test="productVisitPass != null" >
        and a.product_visit_pass = #{productVisitPass,jdbcType=VARCHAR}
      </if>编程客栈;
      <if test="createTime != null and createTime !=''" >
        and a.create_time = #{createTime,jdbcType=VARCHAR}
     http://www.devze.com </if>
      <if test="pageSize != null and pageNum !=null " >      
         ORDER BY a.product_id DESC limit #{pageNum},#{pageSize}
      </if>
  </sql>

mybatis中if test判断数值字符串注意项

 <if test="cutList != null">
   <if test="isInterrupt == '1'.toString() "&开发者_Go入门gt;
  AND A.basic_id IN (
   <foreach collection="cupythontList" item="item" index="index" separator="," >
        #{item}
      </foreach>
        )
      </if>
      <if test="isInterrupt == '0'.toString() ">
  AND A.basic_id NOT IN (
  <foreach collection="cutList" item="item" index="index" separator="," >
        #{item}
      </foreach>
        )
      </if>
 </if>            

1. Mybatis中 if test 判断数值字符串注意项

if test 判断是否为某一数值字符串时需在数值字符串后加上toString()方法

如:

<if test="isInterrupt == '1'.toString() ">

2. Mybatis中遍历list入参

此处还有个知识点是mybatis使用foreach标签来遍历入参list。

如:

 <if test="isInterrupt == '1'.toString() ">
  AND A.basic_id IN (
  <foreach collection="cutList" item="item" index="index" separator="," >
         #{item}
      </foreach>
        )
      </if>

collection为需遍历数组,item为当前循环的变量,index为计数器,separator=","指循环一次则以“,”分隔

这里IN 的()可以直接用open="(" close=")"属性设置

<foreach collection="cutList" item="item" index="index" open="(" close=")" separator="," >

总结

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

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号