MyBatis框架学习(五)-动态sql
2018-03-03 21:18
309 查看
一、动态sql
MyBatis的强大特性之一就是动态sql,使用过JDBC的人都知道根据不同的条件拼接sql时不能忘了必要的sql,还要注意省略掉列名列表的最后的逗号,处理方式麻烦而且凌乱,MyBatis则能帮助我们摆脱这种痛苦.
通常使用动态 SQL 不可能是独立的一部分,MyBatis 当然使用一种强大的动态 SQL 语言来改进这种情形,这种语言可以被用在任意的 SQL 映射语句中。
动态 SQL 元素和使用 JSTL 或其他类似基于 XML 的文本处理器相似。在 MyBatis 之前的版本中,有很多的元素需要来了解。MyBatis 3 大大提升了它们,现在用不到原先一半的元素就可以了。MyBatis 采用功能强大的基于 OGNL 的表达式来消除其他元素。
☐ if标签和where标签
☐ chose标签
☐ foreach
1.if用法
if通常用于where标签中,通过判断参数值来决定是否使用哪个查询条件,它也经常用于update语句中判断是否跟新某一个字段,还可以在insert语句中判断是否插入某个字段的值.
测试类
2.foreach的用法
还有一个迭代标签可以生成一系列值,这个标签主要用于SQL的in语句后面。
包装类
测试类
二、sql片段
主要是提高代码的复用性
解释:在平时使用中将通过include标签的id进行应用,sql片段中id在当前空间必须唯一,当然在sql中也可以写其他的代码,只要符合规范就行.
MyBatis的强大特性之一就是动态sql,使用过JDBC的人都知道根据不同的条件拼接sql时不能忘了必要的sql,还要注意省略掉列名列表的最后的逗号,处理方式麻烦而且凌乱,MyBatis则能帮助我们摆脱这种痛苦.
通常使用动态 SQL 不可能是独立的一部分,MyBatis 当然使用一种强大的动态 SQL 语言来改进这种情形,这种语言可以被用在任意的 SQL 映射语句中。
动态 SQL 元素和使用 JSTL 或其他类似基于 XML 的文本处理器相似。在 MyBatis 之前的版本中,有很多的元素需要来了解。MyBatis 3 大大提升了它们,现在用不到原先一半的元素就可以了。MyBatis 采用功能强大的基于 OGNL 的表达式来消除其他元素。
☐ if标签和where标签
☐ chose标签
☐ foreach
1.if用法
if通常用于where标签中,通过判断参数值来决定是否使用哪个查询条件,它也经常用于update语句中判断是否跟新某一个字段,还可以在insert语句中判断是否插入某个字段的值.
测试类
2.foreach的用法
还有一个迭代标签可以生成一系列值,这个标签主要用于SQL的in语句后面。
包装类
测试类
二、sql片段
主要是提高代码的复用性
解释:在平时使用中将通过include标签的id进行应用,sql片段中id在当前空间必须唯一,当然在sql中也可以写其他的代码,只要符合规范就行.
相关文章推荐
- ssm框架学习---mybatis中动态sql中的sql片段
- (转)MyBatis框架的学习(四)——Mapper.xml文件中的输入和输出映射以及动态sql
- Java数据持久层框架 MyBatis之API学习七(动态 SQL详解)
- 框架学习系列 mybatis 第十四篇 mybatis动态sql一
- 框架学习系列 mybatis 第十五篇 mybatis动态sql及常用标签二
- MyBatis框架的学习(四)——Mapper.xml文件中的输入和输出映射以及动态sql
- ssm框架学习---mybatis中动态sql中的foreach片段
- 【Mybatis学习】Mybatis框架中的动态sql
- MyBatis框架的学习(四)——Mapper.xml文件中的输入和输出映射以及动态sql
- ssm框架学习---mybatis中动态sql中的if片段
- mybatis学习笔记(2)--动态sql
- Mybatis学习笔记--(二)动态SQL
- SSM框架day02-MyBatis——034——符合查询问题演示、035——动态SQL
- Mybatis学习之----手写配置文件时如何进行动态sql配置
- 【Spring+SpringMVC+MyBatis深入学习及搭建】05.动态sql
- Github Mybatis深入学习之动态SQL .
- mybatis框架(五)——动态SQL
- Java学习笔记33:mybatis动态SQL语句
- SSM框架之MyBatis 动态SQL使用
- MyBatis学习 之 三、动态SQL语句