Mybatis筆記(四) 動態SQL

2021-10-07 07:56:12 字數 3035 閱讀 6767

"selbyaccinaccout" resulttype=

"log"

>

select * from log where 1=1

<

!-- 上句沒有分號,因為要與下面的句子相連 --

>

<

!-- ognl表示式,直接寫key或物件的屬性,不需要新增任何特字符號 --

>

<

if test=

"accin!=null and accin!=''"

>

and accin=#

>

<

if test=

"accout!=null and accout!=''"

>

and accout=#

>

<

/select>

"selbyaccinaccout" resulttype=

"log"

>

select * from log

<

if test=

"accin!=null and accin!=''"

>

and accin=#

>

<

if test=

"accout!=null and accout!=''"

>

and accout=#

>

<

/where>

<

/select>

"selbyaccinaccout" resulttype=

"log"

>

select * from log

"accin!=null and accin!=''"

>

and accin=#

<

/when>

"accout!=null and accout!=''"

>

and accout=#

<

/when>

<

/choose>

<

/where>

<

/select>

<

!--

update log set id=

?,accin=

?,accout=

? where id=?--

>

<

!-- 所以需要有逗號進行分割 --

>

"upd" parametertype=

"log"

>

update log

<

!--使用此句的原因是:如果在修改的sql語句中沒有set,會出現語法錯誤--

>

id=#

,<

if test=

"accin!=null and accin!=''"

>

accin=#

,>

<

if test=

"accout!=null and accout!=''"

>

accout=#

,>

<

/set>

where id = #

<

/update>

"selbylog" parametertype=

"log" resulttype=

"log"

>

select * from log

<

!-- 此句話相當於where --

>

"where" prefixoverrides=

"and"

>

and accin=#

<

/trim>

<

/select>

"selbylog" parametertype=

"log" resulttype=

"log"

>

"money" value=

"$money"

/>

select * from log

<

!-- 此句話相當於where --

>

"where" prefixoverrides=

"and"

>

and accin=#

<

/trim>

<

/select>

"selin" parametertype=

"list" resulttype=

"log"

>

select * from log where id in

<

!--

collection:就是要迴圈的變數

item:相當於以前for迴圈中的i

open:表示迴圈前做什麼

close:表示為迴圈後新增什麼

separator:表示分隔符為什麼

-->

"list" item=

"index" open=

"(" close=

")" separator=

",">

#<

/foreach>

<

/select>

"">

select "mybatis"

>

<

/include>

from log

<

/select>

"mybatis"

>

id,accin,accout,money

<

/sql>

學習筆記 Mybatis(四) 動態sql

動態sql if標籤 以查詢product表為例 1.product.xml配置檔案 使用模糊查詢的時候可能會用到不同的字段,如果查詢一次使用一條sql語句,會變得難以維護,就能使用mybatis的動態sql if標籤 如果沒有傳入引數那麼就是查詢所有,這樣就可以一條語句應付多種情況。select ...

Mybatis學習筆記 動態SQL

這片文章是對自己學習的總結。在mybatis的crud語句中,可以通過設定一些引數或者標籤,來讓我們寫sql語句時更加便利。sql元素的作用就是可以定義一條sql的一部分,然後以後的sql語句都可以直接引用它來減少 量。最常用的場景就是,我們在乙個dao層介面的配置檔案中進行各種各樣的查詢,但每次查...

MyBatis日常筆記記錄08 動態sql

一 什麼是動態sql 動態sql,通過mybatis提供的各種標籤隊條件作出判斷以實現動態拼接sql語句。這裡的條件判斷使用的表示式為ognl表示式。常用的動態sql標籤有 等。二 動態sql的好處 動態 sql,主要用於解決查詢條件不確定的情況 在程式執行期間,根據使用者提交的查詢條件進行 查詢。...