MyBatis提供对SQL语句动态的组装能力,而且它只有几个基本元素,十分简单明了。大量的判断都在映射文件中,以达到我们需要大量编码才能实现的功能,大大减少了我们编写代码的工作量,体现了MyBatis的灵活性,高度可配置性和可维护性.
一:概述
动态SQL的元素
二:if元素
if 常常与test 联合使用。可以判断 对应的字段是否为空,然后再决定是否添加这个字段的过滤条件
比如下面的模糊查询:
三:choose,when,otherwise 元素。类似Java 中的 switch case default语句。多个分支判断.
看如下需求:
实现例子:
这样MyBatis就会根据参数的设置进行判断来动态组装SQL,以满足不同业务的要求。远比Hibernate和JDBC大量判断java代码要清晰和明确的多.
四:trim ,where,set 元素
trim 和where 元素 主要是支持一些判断,类似于java 中的if 判断.
set 是支持集合传参.
五:foreach 元素
foreach 元素是一个循环语句.它的作用是遍历集合.能很好的支持数组和List,Set接口的集合,并提供遍历的功能
六:test 元素。前面 经常和if 元素配合.用于判断非空字段
七:bind 元素。用于字符串的拼接。mysql 用contact 和% . oracle 是用的|| .然后bind 给我们做了一个适配。提高了可移植性.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)