您的位置:首页 > 数据库

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中也可以写其他的代码,只要符合规范就行.

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: