`
08284008
  • 浏览: 51125 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

mybatis动态sql中的trim标签的使用

 
阅读更多

参考文章:http://www.cnblogs.com/qiankun-site/p/5758924.html

trim标记是一个格式化的标记,可以完成set或者是where标记的功能,如下代码:

  1、

  select * from user 

  <trim prefix="WHERE" prefixoverride="AND |OR">

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

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

  </trim>

  假如说name和gender的值都不为null的话打印的SQL为:select * from user where    name = 'xx' and gender = 'xx'

  在红色标记的地方是不存在第一个and的,上面两个属性的意思如下:

  prefix:前缀      

  prefixoverride:去掉第一个and或者是or

 

  2、

  update user

  <trim prefix="set" suffixoverride="," suffix=" where id = #{id} ">

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

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

  </trim>

  假如说name和gender的值都不为null的话打印的SQL为:update user set name='xx' , gender='xx'     where id='x'

  在红色标记的地方不存在逗号,而且自动加了一个set前缀和where后缀,上面三个属性的意义如下,其中prefix意义如上:

  suffixoverride:去掉最后一个逗号(也可以是其他的标记,就像是上面前缀中的and一样)

  suffix:后缀

分享到:
评论

相关推荐

    mybatis 动态sql及参数传递

    在实际开发过程中,我们往往需要编写复杂的SQL语句,拼接稍有不注意就会导致错误,Mybatis给开发者提供了动态SQL,大大降低了拼接SQL导致的错误。 动态标签 if标签 if标签通常用那个胡where语句,update语句,insert...

    mybatis动态SQL语句

    if 、where、set、trim、choose 、foreach等在mybatis中的具体用法,有具体实例可供参考,玩转mybatis

    MyBatis 动态 SQL 示例

    MyBatis 动态 SQL 通过使用 、、、、&lt;trim&gt;、&lt;set&gt; 等标签来实现。以下是一些常见的动态 SQL 标签及其用法,通过组合使用这些标签,可以编写出非常灵活和强大的 SQL 语句,以适应不同的查询和更新需求。

    MyBatis 动态SQL示例

    MyBatis 动态 SQL 通过使用 、、、、&lt;trim&gt;、&lt;set&gt; 等标签来实现。附件是一些常见的动态 SQL 标签及其用法,通过组合使用这些标签,可以编写出非常灵活和强大的 SQL 语句,以适应不同的查询和更新需求。

    什么是mybatis动态sql以及学习mybatis动态sql的意义

    使用动态SQL可以减少硬编码SQL的数量,使代码更加简洁易读。此外,动态SQL还能更好地适应未来业务需求的变化。当业务逻辑发生变化时,只需要调整SQL构建逻辑,而无需对整个代码库进行大规模修改,从而大大降低了后期...

    MyBatis动态SQL中的trim标签的使用方法

    `trim`标签是动态SQL中一个非常实用的元素,它主要用于处理SQL语句中的前缀和后缀,以及在多个条件连接时去除不必要的关键词。 首先,我们来详细解释`trim`标签的属性: 1. `prefix`: 这个属性用于设置一个要在...

    ### MyBatis动态SQL介绍说明、使用技巧和优缺点

    ### MyBatis动态SQL介绍说明...然而,合理使用动态SQL并谨慎编写SQL语句,才能充分发挥其优势,并避免潜在的问题。对于开发人员而言,熟练掌握MyBatis动态SQL的相关技术不仅可以提高工作效率,还能提升项目的整体质量。

    MyBatis动态SQL,MyBatis批量插入(Oracle数据库)[收集].pdf

    例如,以下是一个使用动态SQL的示例: ```xml SELECT * FROM BLOG WHERE state = ‘ACTIVE’ != null"&gt; AND title like #{title} ``` 在上面的示例中,如果传递了title参数,那么将生成一个包含title的...

    mybatis动态SQL的详所有细用法代码。经过测试

    Mybatis 是一款流行的 Java 持久层框架,它的核心...通过这个测试项目,你可以深入了解 Mybatis 动态 SQL 的各个功能,学习如何在实际项目中有效地利用它们。实践中不断摸索,才能更好地掌握 Mybatis 动态 SQL 的精髓。

    MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据

    MyBatis动态SQL则通过标签的形式在XML映射文件中编写,从而避免了手动拼接SQL的麻烦。 MyBatis提供了多种元素来实现动态SQL,如、、、、&lt;trim&gt;、、等。这些元素可以单独使用,也可以组合使用,以实现复杂的动态SQL...

    MyBatis 动态SQL.pdf

    当 SQL 语句中有多个动态条件时,使用 `trim` 元素可以方便地管理 `WHERE` 子句。例如,我们可以使用 `trim` 的 `prefix` 属性来自动添加 `WHERE` 关键词,并使用 `suffixOverrides` 属性去除多余的逗号。 ```xml ...

    Mybatis动态sql

    MyBatis 中用于实现动态 SQL 的元素主要有:if、choose(when、otherwise)、trim、where、set、foreach 等。 if 元素是简单的条件判断,利用 if 语句我们可以实现某些简单的条件选择。例如: select * from t_...

    mybatis-demo11-动态SQL语句.zip

    在本项目"mybatis-demo11-动态SQL语句.zip"中,我们将深入探讨如何在XML配置文件中使用MyBatis的动态SQL功能。 1. **什么是动态SQL**: 动态SQL是MyBatis的核心功能之一,它允许我们在XML映射文件或Mapper接口中...

    MyBatis动态SQL是一项强大的特性,它允许我们在编写SQL语句时根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的

    ### 使用动态SQL的注意事项 尽管MyBatis动态SQL提供了极大的灵活性,但使用不当也会带来一些潜在的问题,比如安全性问题。如果将用户输入直接拼接到SQL语句中,可能会导致SQL注入攻击。因此,在使用MyBatis动态SQL...

    mybatis 动态sql resultMap

    在描述中提到的"if", "trim", "where", "set", "foreach"等都是MyBatis动态SQL的关键元素,它们各自承担着不同的功能。 1. **if**:`if`标签用于条件判断,当某个条件满足时,才会将其中的SQL片段插入到最终生成的...

    mybatis动态sql(使用<where>标签来处理多个查询条件)

    ### MyBatis动态SQL——使用`&lt;where&gt;`标签处理多个查询条件 #### 一、引言 在实际的软件开发过程中,我们经常会遇到需要根据不同的条件动态构建SQL...正确的使用动态SQL不仅可以提升开发效率,还能让代码更加优雅。

Global site tag (gtag.js) - Google Analytics