工作中Mybatis.xml 常用写法

Posted Bug解决者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了工作中Mybatis.xml 常用写法相关的知识,希望对你有一定的参考价值。

工作中Mybatis.xml 常用写法

  • 大于、小于、等于的正确写法
符号原符号替换符号
小于<&lt;
小于等于<=&lt;= 或者 a <![CDATA[ <= ]]> b
大于>&gt;
大于等于>=&gt;= 或者 a <![CDATA[ >= ]]> b
&&amp;
单引号&apos;
双引号"&quot;
不等于!=a <![CDATA[ != ]]> b
  • List数据 条件查询(separator 属性为逗号)

最后渲染的结果为:and field in (‘xxx’,‘xxx’,‘xxx’)

<if test="paramList != null and paramList.size()>0">
      and field in
       <foreach collection="paramList" item="item" index="index"open="(" close=")" separator=",">
           #item,jdbcType = VARCHAR
       </foreach>
</if>
  • List数据条件查询(separator 属性为or)

最后渲染的结果为:where (post_name LIKE ‘%财务%’ OR post_name LIKE ‘%经理%’ OR post_name LIKE ‘%技术%’)

<if test="postNameList!=null and postNameList.size()>0">
       and
    <foreach collection="postNameList" open="(" close=")" separator=" or " item="item">
        post_name like  '%$item%'
    </foreach>
</if>
  • 字段一般查询
<if test="param != null and param != ''">
    and field = #param,jdbcType=VARCHAR
</if>
  • 字段进行模糊查询
<if test="paramLike != null and paramLike != ''">
    and field like CONCAT(CONCAT('%',#paramLike,jdbcType=VARCHAR),'%')
</if>
  • BigDecimal范围查询
<if test="paramMax != null ">
      and field <![CDATA[ <= ]]> #paramMax,jdbcType=DECIMAL
</if>
<if test="paramMin != null ">
      and field <![CDATA[ >= ]]> #paramMin,jdbcType=DECIMAL
</if>
  • 判断参数等于具体值
<if test='param =="0"'>
     field = #param,jdbcType=VARCHAR
</if>
<if test="param =='0'.toString()">
    field = #param
</if>
<if test="paramList.size() == 1 and paramList.contains('0'.toString())">
     ......
</if>

以上是关于工作中Mybatis.xml 常用写法的主要内容,如果未能解决你的问题,请参考以下文章

mybatis xml和dao扫描写法

mybatis的工作原理

mybatis 详解------properties以及别名定义

MyBatis 与 Spring 是如何结合在一起工作的——mybatis-spring(version:1.2.2)

mybatis源码解读——数据源的配置

Mybatis的全局配置文件标签介绍(mybatis-config.xml)