五:MyBatis动态Sql

五:MyBatis动态Sql,第1张

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 给我们做了一个适配。提高了可移植性.

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/738369.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-28
下一篇 2022-04-28

发表评论

登录后才能评论

评论列表(0条)

保存