MyBatis动态SQL
一、前言
动态SQL是MyBatis强大特性之一。极大的简化我们拼装SQL的操作。
动态SQL 元素和使用JSTL 或其他类似基于XML 的文本处理器相似。
MyBatis 采用功能强大的基于OGNL 的表达式来简化操作。
①if
②choose (when, otherwise)
③trim (where, set)
④foreach
二、if标签
二、choose (when, otherwise)
三、trim (where, set)
where
set
trim
四、foreach
动态SQL 的另外一个常用的必要操作是需要对一个集合进行遍历,通常是在构建IN 条件语句的时候。
当迭代列表、集合等可迭代对象或者数组时,index是当前迭代的次数,item的值是本次迭代获取的元素
当使用字典(或者Map.Entry对象的集合)时,index是键,item是值
bind
bind 元素可以从OGNL 表达式中创建一个变量并将其绑定到上下文。比如:
Multi-dbvendor support
若在mybatis配置文件中配置了databaseIdProvider, 则可以使用“_databaseId”变量,这样就可以根据不同的数据库厂商构建特定的语句
五、OGNL简介
OGNL(Object Graph Navigation Language )对象图导航语言,这是一种强大的表达式语言,通过它可以非常方便的来操作对象属性。类似于我们的EL,SpEL等
如果,您对我的这篇博文有什么疑问,欢迎评论区留言,大家互相讨论学习。
如果,您认为阅读这篇博客让您有些收获,不妨点击一下右下角的【推荐】。
如果,您希望更容易地发现我的新博客,不妨点击一下左下角的【关注我】。
如果,您对我的博文感兴趣,可以关注我的后续博客,我是【AlbertRui】。转载请注明出处和链接地址,欢迎转载,谢谢!