栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

五:MyBatis动态Sql

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

五:MyBatis动态Sql

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/838285.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号