`
zhao_rock
  • 浏览: 190162 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

mybatis中的动态sql

    博客分类:
  • Java
阅读更多

最近在用mybatis做sql发现使用动态sql,可以有效的减少开发量,效率比较高

 

1.
<update id="updateTable"  parameterType="com.Entity.TestEntity">
   update test
      <trim prefix="set" prefixOverrides=",">
            <if test="column1!=null" >
	       A_column1=#{column1}
            </if>
            <if test="column2!=null" >
                 ,A_column2=#{column2}
            </if>
            <if test="column3!=null and column3!='' ">
                 ,A_column3=#{column3}
             </if>
         </trim>   
	where A_column4 = #{column4}
</update>


2.
<trim prefix="where" prefixOverrides="and |or">

 

trim元素的主要功能是可以在自己包含的内容前加上某些前缀或某些后缀,与之对应的属性是prefix和suffix;可以把包含内容的首部某些内容覆盖,即忽略,也可以把尾部的某些内容覆盖,对应的属性是prefixOverrides和suffixOverrides。

 

if元素的test属性很容易理解,如果test的值为true则显示标签中的值。

 

代码1处,实现了自动去判断(非常简单的判断)哪些值需要更新

代码2处,同样可以在where条件中实现and或者or的动态拼接

分享到:
评论

相关推荐

    mybatis之动态SQL

    动态 SQL 在 MyBatis 中主要通过 XML 映射文件或者注解来实现。在 XML 映射文件中,我们可以使用 `&lt;if&gt;`, `&lt;choose&gt;`, `&lt;when&gt;`, `&lt;otherwise&gt;`, `&lt;where&gt;`, `&lt;foreach&gt;` 等标签来构建动态 SQL。这些标签可以让我们...

    mybatis动态sql.zip

    mybatis动态sql,动态sql解析引擎,类似mybatis动态sql的功能。 mybatis动态sql,动态sql解析引擎,类似mybatis动态sql的功能。mybatis动态sql,动态sql解析引擎,类似mybatis动态sql的功能。mybatis动态sql,...

    mybatis 动态sql及参数传递

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

    mybatis中进行sqlserver分页

    mybatis中,sqlserver分页

    MyBatis动态拼接SQL

    这是动态SQL中非常常用的一个标签。 ```xml DELETE FROM table WHERE id IN (" separator="," close=")"&gt; #{item} ``` 在实际开发中,我们可以结合这些标签灵活组合,实现各种复杂的动态SQL。MyBatis动态...

    mybatis动态SQL语句

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

    mybatis直接执行sql语句后续之一

    1. **动态SQL**:MyBatis的一个强大特性是其支持动态SQL,允许在XML映射文件或注解中构建SQL语句。比如,我们可以使用`&lt;if&gt;`、`&lt;choose&gt;`、`&lt;when&gt;`、`&lt;otherwise&gt;`、`&lt;where&gt;`等标签来根据条件动态地插入、删除或...

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

    MyBatis动态SQL和批量插入的应用 MyBatis是一款功能强大且灵活的持久层框架,提供了多种方式来对数据库进行交互。其中,动态SQL是一种非常强大的特性,能够根据不同的条件生成不同的SQL语句。下面将详细介绍MyBatis...

    MyBatis 动态 SQL 示例

    附件是MyBatis 动态 SQL 示例,MyBatis 是一个持久层框架,它允许用户在 XML 文件中编写动态 SQL 语句。MyBatis 的动态 SQL 功能非常强大,它允许开发者根据运行时的条件动态地生成 SQL 语句。这使得 MyBatis 能够...

    MyBatis 动态SQL示例

    附件是MyBatis 动态SQL示例,MyBatis 是一个持久层框架,它允许用户在 XML 文件中编写动态 SQL 语句。MyBatis 的动态 SQL 功能非常强大,它允许开发者根据运行时的条件动态地生成 SQL 语句。这使得 MyBatis 能够灵活...

    mybatis慢SQL插件

    只需要在springboot的配置文件做简单的配置,mybatis拦截器将SQL中所有参数自动做了填充。拦截器监控慢SQL并将完整的可执行的SQL语句打印在日志文件中,复制该SQL语句即可在数据库工具中执行。 使用方法: 找到你...

    MyBatis中动态sql的实现方法示例

    "MyBatis中动态sql的实现方法示例" MyBatis 中的动态 SQL 是指通过表达式对 SQL 语句进行灵活操作,通过判断对 SQL 语句进行灵活拼接、组装。MyBatis 的强大特性之一便是它的动态 SQL。 动态 SQL 元素主要有: 1....

    mybatis如何防止SQL注入

    在MyBatis中,除了`#{}`之外还可以使用`${}`来指定动态SQL语句中的参数。这种方式虽然灵活,但容易导致SQL注入问题。例如: ```xml SELECT id, title, author, content FROM blog ORDER BY ${orderParam} ``` ...

    Mybatis实现动态代理,动态SQL

    "Mybatis实现动态代理,动态SQL" Mybatis框架可以通过配置的形式为DAO接口生成动态代理实现类,从而简化程序开发,提高开发效率。在实现动态代理时,需要满足以下条件:接口全命名必须和SQL映射文件中的namespace...

    MyBatis 执行动态 SQL语句详解

    在 MyBatis 中,动态 SQL 是一个强大的特性,允许我们在 XML 映射文件或注解中编写条件语句,根据运行时的参数来决定 SQL 的具体执行内容。下面我们将深入探讨如何在 MyBatis 中执行动态 SQL 语句。 首先,我们要...

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

    了解并掌握MyBatis中的动态SQL技术对于提高应用性能、增强代码灵活性具有重要意义。 #### 提升应用性能 通过动态SQL,可以有效地减少不必要的数据库交互次数。例如,在构建复杂的多表查询时,可以通过动态添加或...

    利用Mybatis的动态SQL实现物理分页.pdf

    【描述】:本文主要探讨了在实际项目中如何利用Mybatis的动态SQL功能来解决大数据量下的物理分页问题,以避免内存溢出。 【标签】:“SQL 数据库 数据处理 参考文献 专业指导” 在Java开发中,Mybatis是一个广泛...

    ideal mybatis打印sql插件

    将日志输出的sql语句中的问号 ? 替换成真正的参数值。 通过 "Tools -&gt; MyBatis Log Plugin" 菜单或快捷键 "Ctrl+Shift+Alt+O" 启用。 点击窗口左边的 "Filter" 按钮,可以过滤不想要输出的sql语句。 点击窗口左边...

    mybatissql_mybatis解决sql注入

    标题 "mybatissql_mybatis解决sql注入" 暗示了我们正在讨论MyBatis框架如何处理SQL注入问题。SQL注入是一种常见的安全漏洞,攻击者可以通过恶意输入篡改SQL查询,获取、修改或删除数据库中的敏感数据。MyBatis,作为...

Global site tag (gtag.js) - Google Analytics