MyBatis动态SQL

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】。

转载请注明出处和链接地址,欢迎转载,谢谢!

 

posted on 2018-02-28 23:08  Ryan520  阅读(170)  评论(0)    收藏  举报

导航