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语句来看的话,很多标签都足够用了

  • 相关阅读:
    开发应用资料大全
    shutil库文件的操作
    搭建appium自动化测试环境
    python实现语音录入识别
    go解析markdown转成html
    go指定分隔符格式化时间
    go语言中使用正则表达式
    django_websocket实现简单聊天室
    PyQt5显示日期选择框,获取日期保存文件
    python解决迅雷下载限制的方法
  • 原文地址:https://www.cnblogs.com/zengda/p/5118701.html
Copyright © 2011-2022 走看看