mybatis动态sql中where标签的使用


where标记的作用类似于动态sql中的set标记,他的作用主要是用来简化sql语句中where条件判断的书写的,如下所示:

  <select id="selectByParams" parameterType="map" resultType="user">

    select * from user

    <where>

      <if test="id != null ">id=#{id}</if>

      <if test="name != null and name.length()>0" >and name=#{name}</if>

      <if test="gender != null and gender.length()>0">and gender = #{gender}</if>

    </where>

  </select>     

  在上述SQL中加入ID的值为null的话,那么打印出来的SQL为:select * from user where name="xx" and gender="xx"

  where 标记会自动将其后第一个条件的and或者是or给忽略掉


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM