MyBatis动态SQL之一使用 if 标签和 choose标签

bootstrap react https://segmentfault.com/a/1190000010383464

xml 中 < 转义 to thi tha

<if test="pricehigh!=null">
and price &lt; #{pricehigh,jdbcType=INTEGER}
</if>

MyBatis动态SQL之一使用 if 标签和 choose标签

  1. <select id="getItems" parameterType="com.ipro.shopping.to.IntegerEntity" resultType="itemsType">
  2. select * from itemsType
  3. <where>
  4. <!--方式一使用choose的方式查询-->
  5. <!-- <choose>
  6. <when test="parentId !=0 ">parentTypeId=#{parentId}</when>
  7. <when test="parentId==0">parentTypeId is null</when>
  8. </choose> -->
  9. <!--方式二使用if的方式查询-->
  10. <if test="parentId!=0">
  11. parentTypeId=#{parentId}
  12. </if>
  13. <if test="parentId==0">
  14. parentTypeId is null
  15. </if>
  16. </where>
  17. </select>

原文地址:https://www.cnblogs.com/cnchengv/p/8297670.html

时间: 2024-10-22 10:07:44

MyBatis动态SQL之一使用 if 标签和 choose标签的相关文章

mybatis动态sql以及分页

1.mybatis动态sql 2.模糊查询 3.查询返回结果集的处理 4.分页查询 5.特殊字符处理 1.mybatis动态sql If.trim.foreach If 标签判断某一字段是否为空 <select id="list4" resultType="java.util.Map" parameterType="java.util.Map"> select * from t_mvc_book <where> <i

MyBatis动态SQL————MyBatis动态SQL标签的用法

1.MyBatis动态SQL MyBatis 的强大特性之一便是它的动态 SQL,即拼接SQL字符串.如果你有使用 JDBC 或其他类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句有多么痛苦.拼接的时候要确保不能忘了必要的空格,还要注意省掉列名列表最后的逗号.利用动态 SQL 这一特性可以彻底摆脱这种痛苦. 通常使用动态 SQL 不可能是独立的一部分,MyBatis 当然使用一种强大的动态 SQL 语言来改进这种情形,这种语言可以被用在任意的 SQL 映射语句中. 动态 SQL 元素和

用Groovy模板写MyBatis动态SQL

MyBatis动态SQL简介 MyBatis有个强大的功能,动态SQL.有了这个功能,定义在Mapper里的SQL语句,就不必是静止不变的了,而是可以根据传入的参数,动态调整.下面是MyBatis官方文档里的一个if语句的例子: <select id="findActiveBlogWithTitleLike" resultType="Blog"> SELECT * FROM BLOG WHERE state = 'ACTIVE' <if test=

Mybatis 动态sql(转载)

原文地址:http://www.cnblogs.com/dongying/p/4092662.html 传统的使用JDBC的方法,相信大家在组合复杂的的SQL语句的时候,需要去拼接,稍不注意哪怕少了个空格,都会导致错误.Mybatis的动态SQL功能正是为了解决这种问题, 其通过 if, choose, when, otherwise, trim, where, set, foreach标签,可组合成非常灵活的SQL语句,从而提高开发人员的效率.下面就去感受Mybatis动态SQL的魅力吧: 1

mybatis动态sql中的两个内置参数(_parameter和_databaseId)

<!-- mybatis动态sql的两个内置参数           不只是方法传递过来的参数可以被用来判断,取值       mybatis默认还有两个内置参数           _parameter:代表整个参数                                      单个参数:_parameter就是这个参数                                      多个参数:参数会被封装为一个map:_parameter就是代表这个map       

Mybatis动态SQL(where元素、set元素、if元素)

Mybatis动态SQL(where元素.set元素.if元素) - where 元素只会在至少有一个子元素的条件返回 SQL 子句的情况下才去插入"WHERE"子句.而且,若语句的开头为"AND"或"OR",where 元素也会将它们去除. (也就是说where用在有多条if的条件的查询中,同时会过滤掉语句开头的AND.OR) - if 元素可以对给予的对象再进行一次判断 - set元素可以用于动态包含需要更新的列,而舍去其它的. 1.创建一个

Mybatis动态sql语句(OGNL语法)

下面是Mybatis动态sql语句(即OGNL语法)的简单案例 1.创建表 create table test(id int primary key auto_increment,name varchar(20),job varchar(20),dept varchar(20),sal int) charset=utf8; insert into test values (null,'鲁班','java','甲',1456), (null,'后裔','java','甲',2440), (null

mybatis 动态SQL .2

目录 1.动态SQL:if 语句 2.动态SQL:if+where 语句 3.动态SQL:if+set 语句 4.动态SQL:choose(when,otherwise) 语句 5.动态SQL:trim 语句 6.动态SQL: SQL 片段 7.动态SQL: foreach 语句 8.总结 前面几篇博客我们通过实例讲解了用mybatis对一张表进行的CRUD操作,但是我们发现写的 SQL 语句都比较简单,如果有比较复杂的业务,我们需要写复杂的 SQL 语句,往往需要拼接,而拼接 SQL ,稍微不

MyBatis从入门到精通(第4章):MyBatis动态SQL

(第4章):MyBatis动态SQL:本章详细介绍了MyBatis最强大的动态SQL功能,通过丰富的示例讲解了各种动态SQL的用法,还提供了动态SQL中常用的OGNL用法. (第4章):MyBatis动态SQL MyBatis 3.5.2版本采用了功能强大的OGNL(Object-Graph Navigation Language)表达式语言,以下是MyBatis的动态SQL在XML中支持的几种标签. if choose(when.otherwise) trim(where.set) forea