学习MyBatis的第三天


MyBatis动态SQL

MyBatis框架主要通过标签的配合使用实现SQL语句的动态拼接.前后缀格式化处理.复杂参数处理等功能

好处:动态 SQL 大大减少了编写代码的工作量,更体现了 MyBatis 的灵活性、高度可配置性和可维护性。

MyBatis的框架动态SQL的常用标签

if:动态SQL技术中最常用的标签之一 类似于Java中的if语句

where:为SQL语句动态添加where关键字

choose:是一个组合标签,通常与when、otherwise标签配合使用 类似于Java中switch语句

foreach:迭代一个集合,通常用于in条件

set:为SQL语句动态添加set关键字,实现动态实现数据更新功能

trim:动态地为SQL语句添加前后缀 智能忽略标签前后多余的and、or或逗号等字符

MyBatis框架动态SQL处理集合参数

item:遍历数组时,为数组或List集合中的元素起的别名。

open:起始位置的拼接字符,表示in语句以“(”左括号开始。

close:结束位置的拼接字符,表示in语句以“)”右括号结束。

separator:元素之间的连接符,表示in语句中的元素之间以“,”逗号连接。

collection:参数名称。当参数为数组类型时,默认参数名为array。当参数类型为List集合时,默认参数名为list。当参数类型为Map时,参数名为Map中集合元素所在键值对的key。

MyBatis框架动态SQL处理更新功能

MyBatis框架动态更新数据的功能主要通过set+if标签实现.

MyBatis框架动态SQL知识扩展

trim标签

where、 set标签能够动态地为SQL 语句添加前后缀,并可以智能地忽略标签前后多余的and、or或逗号等字符。除where和set标签外, MyBatis框架还提供了更为灵活的 trim标签来实现类似的功能。

trim标签的属性

prefix:前缀,可以自动对 trim 标签所包含的语句是否有返回值进行判断。如果有返回值.则为SQL 语句拼接相应前缀。

suffix:后缀,在trim标签包含的语句末尾拼接后缀。

prefixOverrides:忽略的前缀,忽略trim标签内部首部指定的内容。

suffixOverrides:忽略的后缀,忽略trim标签包含内容尾部指定的内容。

总结

MyBatis框架的动态SQL技术是通过一个或多个标签的使用来实现的。

where+if标签可以实现动态查询功能。

choose(when、otherwise)组合实现多条件查询时,只匹配其中一个冬件

foreach标签可以实现对数组、List 集合等多值参数的处理。

set +if标签可以实现动态更新功能。

trim标签可以为SOL 语句动态添加或移除指定的前后缀。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值