首页 > 数据库技术 > 详细

myBatis--动态SQL

时间:2021-08-30 13:35:49      阅读:8      评论:0      收藏:0      [点我收藏+]
一、介绍
动态 SQL是MyBatis强大特性之一。极大的简化我们拼装SQL的操作。
动态 SQL 元素和使用 JSTL 或其他类似基于 XML 的文本处理器相似。
MyBatis 采用功能强大的基于 OGNL 的表达式来简化操作。
二、动态SQL
1.if
技术分享图片

 技术分享图片

 

 注意:在查询的时候有些条件没有带上,以至于SQL语句拼装会出现问题:

         ①where后面写上 1=1 ,所有的if条件都要以 and 开头

         ②使用<where>标签将所有的条件包含在标签中;但是这种方式只适合and或者or在语句前

2.choose分支选择 (when, otherwise):带了break的switch-case

 技术分享图片

3.trim字符串截取 (where封装查询条件, set封装修改条件)
技术分享图片

 技术分享图片

 技术分享图片

4.foreach
(1)遍历
技术分享图片

 技术分享图片

(2).批量保存

方式一:

技术分享图片

方式二:

开启分隔多条查询

技术分享图片

技术分享图片

 技术分享图片

三、OGNL表达式
1.OGNL
技术分享图片

2.bind

可以将OGNL 的值绑定在一个变量上,方便以后引用这个变量的值

技术分享图片

 四、两个内置参数

myBatis默认的两个内置参数:

1.  _parameter:代表整个参数      如果是一个参数:代表这个参数本身

      如果是多个参数:例如map集合,那么急代表这个集合

技术分享图片

2.  _databaseId:如果配置了DatabaseIdProvider标签,则_databaseId就是代表当前数据库的别名

技术分享图片

五、sql标签

抽取可重用的SQL片段,方便后续的引用;

1.SQL抽取:经常要查询或者更新的列名,抽取出来进行引用

2.include标签:将抽取好的部分进行引用

3.include标签还可以自定义字段使用<property>标签,要使用${自定义的参数}取值

技术分享图片

技术分享图片

 技术分享图片

myBatis--动态SQL

原文:https://www.cnblogs.com/taozhiyaoyao99/p/15200619.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!