`
bugyun
  • 浏览: 559220 次
社区版块
存档分类
最新评论

mybatis if 里的坑

 
阅读更多
一:
Xml代码  收藏代码
  1. <if test="type=='y'">  
  2.     and status = 0   
  3. </if>  

当传入的type的值为y的时候,if判断内的sql也不会执行,应改为:

Xml代码  收藏代码
  1. <if test='type=="y"'>  
  2.     and status = 0   
  3. </if>  

或者改成:

<if test="type eq 'y'.toString()">
  and status = 0
</if>

 

就可以执行了,这样"y"解析出来是一个字符串,两者相等!

 

 

二:

<if test="id != null and id != '' ">
	id = #{id}
</if>

 

如果id类型为int 当id=0时 这个判断不会进入,这种写法只适用于 id 类型为字符串。

改为:

<if (test="id != null and id != '') or test==0"> 
  id = #{id}
</if>
或者:
<if test="id != null"> 
  id = #{id}
</if>

 

 

 

 

分享到:
评论

相关推荐

    Mybatis3 if判断字符串变态写法

    在Mybatis3中,`if`标签用于进行条件判断,以动态地控制SQL语句的生成。在处理字符串时,我们需要特别注意字符串的比较方式,因为不正确的写法可能导致异常。这里我们将深入探讨如何正确使用`if`标签来判断字符串。 ...

    mybatis 映射文件中if标签判断字符串相等的两种方式

    其中,`if`标签是MyBatis动态SQL的重要组成部分,它允许我们在构建SQL语句时根据条件进行动态判断。本文将详细讨论在MyBatis映射文件中,`if`标签判断字符串相等的两种方法。 ### 方法一:使用OGNL表达式 MyBatis...

    mybatis中&lt;if&gt;标签bool值类型为false判断方法

    通过理解MyBatis动态SQL的工作原理和正确使用`&lt;if&gt;`标签及其相关标签,我们可以编写出更加灵活且适应性强的SQL映射文件,从而提高代码的可维护性和效率。希望这个解释对学习或使用MyBatis的朋友有所帮助,继续探索...

    MyBatis动态Sql之if标签的用法详解

    MyBatis动态Sql之if标签的用法详解 MyBatis动态Sql之if标签是MyBatis框架中的一种动态Sql语言,用于在查询语句中根据条件生成不同的Sql语句。if标签是MyBatis动态Sql语言中的一种常用标签,用于根据条件执行不同的...

    mybatis demo mybatis 实例

    MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs...

    mybatis-3-mybatis-3.2.6

    12. **动态SQL**:MyBatis提供了强大的动态SQL功能,允许在XML映射文件中直接编写条件语句,如if、choose、when、otherwise等。 13. **缓存**:MyBatis支持本地缓存和二级缓存,可以提高数据读取速度,减少数据库...

    MyBatis 官方笔记 + MyBatis 3.5.10 官方英文文档

    - **动态 SQL**:通过 `&lt;if&gt;`、`&lt;choose&gt;`、`&lt;when&gt;`、`&lt;otherwise&gt;`、`&lt;foreach&gt;` 等标签实现 SQL 语句的动态生成。 - **结果映射(ResultMap)**:用于复杂对象的映射,处理一对一、一对多、多对多等关系。 4. ...

    mybatisx.zip

    4. **动态SQL助手**:支持自动生成动态SQL的if、choose、when、otherwise等标签,使动态SQL的编写变得简单直观。 5. **条件查询构建**:插件能帮助构建复杂的条件查询,通过简单的拖拽操作即可生成对应的XML片段,...

    mybatis入门案例 mybatis入门案例

    mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例mybatis入门案例...

    mybatis的中文api文档

    MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以对配置和原生Map使用简单的XML或注解,将接口和Java的POJOs...

    mybatis3.5.7.zip

    MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 ...

    mybatis 动态sql及参数传递

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

    MybatisGenerate_代码生成_tkMybatis_mybatisgenerate_mybatis_

    MybatisGenerate是一个强大的工具,主要用于自动化生成Mybatis相关的代码,以提高开发效率并减少手动编写重复性工作的负担。这个工具是基于tk.mybatis框架的,它整合了Mybatis的优秀特性,使得开发者能够更加便捷地...

    MyBatis3官方中文文档

    MyBatis是一款流行的Java持久层框架,它的设计理念是通过简单的XML或注解用于配置和映射原始类型、接口和Java POJOs(Plain Old Java Objects,普通老式Java对象)为数据库中的记录。MyBatis可以与各种数据库交互,...

    MyBatis入门.pdf

    MyBatis入门 MyBatis是一个优秀的持久层框架,使用XML将SQL与程序解耦,便于维护。MyBatis学习简单,执行高效,是JDBC的延伸。MyBatis提供了数据库增删改查的便捷操作,极大提高了开发效率、统一的编码规则、利于...

    mybatis中文离线文档

    MyBatis是一个优秀的Java持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的...

    MyBatis基本使用总结

    通过`&lt;if&gt;`, `&lt;choose&gt;`, `&lt;when&gt;`, `&lt;otherwise&gt;`, `&lt;where&gt;`, `&lt;set&gt;`, `&lt;foreach&gt;`等标签,可以在映射文件中编写条件语句、循环语句等,使SQL更具灵活性和可扩展性。 七、缓存机制 MyBatis内置了本地缓存和二级...

    MyBatis 中文官方文档

    MyBatis 提供了强大的映射元素,如`&lt;resultMap&gt;`用于定义结果集映射,`&lt;association&gt;`和`&lt;collection&gt;`用于处理复杂对象关系,以及`&lt;choose&gt;`, `&lt;when&gt;`, `&lt;otherwise&gt;`等结构,实现类似Java的if-else逻辑。...

    Mybatis用到的资料

    Mybatis是中国著名的开源Java持久层框架,它支持定制化SQL、存储过程以及高级映射。这个压缩包文件“Mybatis用到的资料”显然包含了学习和理解Mybatis所需的各种资源,对于想要深入研究Mybatis的开发者来说是宝贵的...

    mybatis 3.2.6

    MyBatis是一个优秀的Java持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的...

Global site tag (gtag.js) - Google Analytics