MyBatis - 4 - 動態 SQL(if、where、trim、choose、set、foreach、bind、sql、include)、OGNL、_parameter、_databaseId

# if && OGNL

判斷表達式 : OGNL - 《OGNL詳解》

在這裏插入圖片描述
遇見特殊符號,應該寫轉義字符 - html轉義字符
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述


# where

接上面的語句

在這裏插入圖片描述
在這裏插入圖片描述

# trim

在這裏插入圖片描述
在這裏插入圖片描述

在這裏插入圖片描述

# choose

choose(when,otherwise):分支選擇,帶了 break 的switch-case
如果帶了id就用id查,如果帶了 lastName 就用 lastName 查,只會進入其中一個

在這裏插入圖片描述

# set

在這裏插入圖片描述

trim
在這裏插入圖片描述

# foreach

## 批量查

在這裏插入圖片描述

在這裏插入圖片描述

## 批量保存

在這裏插入圖片描述

如果想
在這裏插入圖片描述
需要在 url 配置裏面開啓 allowMultiQueries=true
在這裏插入圖片描述
具體看 下面
在這裏插入圖片描述

oracle
end最後還要加;
endend;
在這裏插入圖片描述在這裏插入圖片描述
在這裏插入圖片描述在這裏插入圖片描述

# 兩個內置參數

不只是方法傳遞過來的參數可以被用來判斷,取值。。。
mybatis 默認還有兩個內置參數,

  • _parameter:代表整個參數
    單個參數:_parameter 就是這個參數
    多個參數:參數會被封裝爲一個map:_parameter 就是代表這個map
  • _databaseId:如果配置了 DatabaseIdProvider標籤
    _databaseId就是代表當前數據庫的別名 oracle

在這裏插入圖片描述

在這裏插入圖片描述

# bind

bind 可以將 OGNL 表達式的值綁定到一個變量中,方便後來引用這個變量的值

在這裏插入圖片描述

當然,也可以 concat('%',lastName,'%') 。但是 ,sql 函數在高併發下 效率極其差

# sql && include

在這裏插入圖片描述
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章