zoukankan      html  css  js  c++  java
  • 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】。

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

  • 相关阅读:
    操作系统的磁盘结构、磁盘管理、磁盘调度算法
    ArrayList源码解析--值得深读
    深入理解static、volatile关键字
    7:高阶张量操作
    6:统计属性
    5:张量的基本运算
    4.1张量的操作(broadcasting维度自动扩张,拼接与拆分)
    4:张量操作
    3:索引与切片
    2:pytorch的基本数据类型以及张量的创建
  • 原文地址:https://www.cnblogs.com/albertrui/p/8486307.html
Copyright © 2011-2022 走看看