`

Mybatis3 if判断字符串与if嵌套

 
阅读更多

1. if 判断字符串

错误写法:if test="status == 'Y'"特别是数字字符的时候。。。。

结果:抛异常NumberFormatException异常!提示内容非常少,看不出问题在哪里!

正确写法:if test='status == "y"'

还可以这样写:if test="status == 'y'.toString()"

 

2.if嵌套

 

		<if test="@com.qbao.tickets.common.util.MybatisUtils@isNotEmpty(firstLetter)">
		     <if test="firstLetter=='-1'.toString()">
				and FIRST_LETTER is null or FIRST_LETTER =''
		   </if>
		   
		   <if test="firstLetter!='-1'.toString()">
		       and FIRST_LETTER = #{firstLetter, jdbcType=VARCHAR}
		   </if>
		</if>

 

分享到:
评论

相关推荐

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

    在上面的示例中,test属性指定了一个判断条件:如果userName不为空且不为空字符串,则执行if标签中的Sql语句。 if标签的使用场景 if标签常用于实现动态查询、动态更新和动态插入等场景。例如: 1. 动态查询:根据...

    Mybatis开发手册

    Mybatis支持多种参数映射方式,如使用#{}的预编译参数,以及${}的字符串替换。结果映射则是将查询结果自动转化为Java对象,可以通过标签定义字段与属性的映射关系,包括嵌套结果映射和关联映射。 七、缓存机制 ...

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

    相比传统的JDBC编程中需要手动拼接SQL字符串的方式,MyBatis动态SQL提供了一种更为安全、简洁且易于维护的方法。 #### 二、为什么使用动态SQL? 在实际开发过程中,经常会出现需要根据业务逻辑动态生成SQL语句的...

    36道面试常问的MyBatis面试题!.zip

    3. **MyBatis与Hibernate的区别?** MyBatis更注重SQL的自由度,而Hibernate提供了一种对象关系映射(ORM)机制,自动处理SQL。MyBatis灵活性更高,适合复杂SQL查询,Hibernate则适合快速开发,对简单CRUD操作更加...

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

    这个过程完全自动化,大大减少了手动拼接SQL字符串所带来的工作量和潜在错误。 #### 三、示例分析 为了更好地理解MyBatis动态SQL的使用方式,下面通过几个具体的例子来进行分析: ##### 3.1 使用 `&lt;if&gt;` 标签 ...

    Mybatis模糊查询及自动映射实现详解

    在上面的示例中,我们使用CONCAT函数将% wildcard与参数username结合起来,形成一个新的字符串,然后在查询语句中使用该字符串。 二、Mybatis自动映射 Mybatis的自动映射功能可以将查询结果自动映射到Java对象中,...

    第二期2020字节跳动面试题及解析.pdf

    - ${}是字符串替换,不能防止SQL注入,参数不会被单引号包围。 #### 2.2 实体类属性和表字段名不一致的处理 可以通过resultMap中的association或collection标签使用resultMap进行指定映射。 #### 2.3 模糊查询like...

    1000道 互联网Java工程师面试题 485页.pdf

    - ${}为字符串替换,存在SQL注入风险。 7. **实体类与表字段不一致**: - 可以通过`&lt;resultMap&gt;`元素进行映射关系的定义,或者使用`@Results`注解在接口方法上。 8. **模糊查询**: - 使用`&lt;if&gt;`标签动态判断是否...

    java机试题整理

    - 根据ASCII码值判断字符是大写还是小写,并进行相应转换。 **2. 字符串反转** 实现字符串反转的方法如下: ```java public static String getStringDemo(String str) { StringBuffer sb = new StringBuffer(); ...

    技术笔记(第一部分整理)

    除了`String`类之外,Java还提供了`StringBuilder`和`StringBuffer`类用于构建和操作字符串。 ##### List集合 `List`接口是Java集合框架的一部分,表示有序的元素集合。常见的实现类有`ArrayList`和`LinkedList`。 ...

    Java面试框架高频问题2019

    - `${}`:字符串替换,可能存在SQL注入风险。 **问题七:当实体类中的属性名和表中的字段名不一样,怎么办?** - 使用`&lt;resultMap&gt;`标签进行映射。 **问题八:模糊查询like语句该怎么写?** - 使用`&lt;if&gt;`标签条件...

Global site tag (gtag.js) - Google Analytics