zoukankan      html  css  js  c++  java
  • MyBatis动态SQL中trim标签的使用

     


    My Batis 官方文档 对 动态SQL中使用trim标签的场景及效果介绍比较少。

    事实上trim标签有点类似于replace效果。

    trim 属性

                    prefix:前缀覆盖并增加其内容

                    suffix:后缀覆盖并增加其内容

                    prefixOverrides:前缀判断的条件

                    suffixOverrides:后缀判断的条件

    比如:

    Java代码  收藏代码
    1. select b.* from sys_menu b where 1 = 1  
    2.   
    3. <trim suffix="WHERE" suffixOverrides="AND | OR">  
    4.     <if test="id != null and id !='' ">  
    5.         AND b.id =#{id}   
    6.     </if>  
    7.     <if test="name != null">  
    8.         AND b.menu_name like #{name}  
    9.     </if>  
    10. </trim>     

    最终sql打印为:

    select b.* from sys_menu b where 1 = 1 AND b.menu_name like '' WHERE

    从结果可以发现:

    Java代码  收藏代码
    1. <trim suffix="WHERE" suffixOverrides="AND | OR">  

    suffix是针对符合suffixOverrides的SQL语句追加后缀suffix值。

    总而言之:

          

          

    Java代码  收藏代码
    1. <trim suffix="WHERE" suffixOverrides="AND | OR">  

          And  sqlxxx

     最终结果是:

         And  sqlxxx WHERE

    我不是很确认这种用法的具体场景,但是,就目前mybatis的动态sql语句来看的话,很多标签都足够用了

  • 相关阅读:
    ASP.NET MVC 动态加载图像
    ASP.NET:以域用户身份访问网络资源
    ASP.NET MVC 动态加载 *.ascx
    4月
    3月
    2月
    每天充点小能量
    每天进步一点点
    FreeMarker标签与使用
    eclipse启动tomcat, http://localhost:8080无法访问
  • 原文地址:https://www.cnblogs.com/zengda/p/5118701.html
Copyright © 2011-2022 走看看