MyBatis 動態sql標籤

2021-10-23 13:33:31 字數 2393 閱讀 1001

"findbyaccount"

parametertype

="com.lin.entity.account"

resulttype

="com.lin.entity.account"

>

select * from account

>

test

="id!=0"

>

id=#

if>

test

="username!=null"

>

and username=#

if>

test

="password!=null"

>

and password=#

if>

test

="age!=0"

>

and age=#

if>

where

>

select

>

"findbyaccount"

parametertype

="com.lin.entity.account"

resulttype

="com.lin.entity.account"

>

select * from account

>

>

test

="id!=0"

>

id = #

when

>

test

="username!=null"

>

username = #

when

>

test

="password!=null"

>

password = #

when

>

test

="age!=0"

>

age = #

when

>

>

id=5

otherwise

>

choose

>

where

>

prefix:在最前加入

suffix:在最後加入

prefixoverrides:去掉前面第乙個

suffixoverrides:去掉後面最後乙個

prefix

="where"

prefixoverrides

="and"

>

prefix

="set"

suffixoverrides

=","

>

逗號會自動處理

"update"

parametertype

="com.lin.entity.account"

>

update account

>

test

="username!=null"

>

username=#,

if>

test

="password!=null"

>

password=#,

if>

test

="age!=0"

>

age=#,

if>

set>

where id=#

update

>

foreach 標籤可以迭代生成一系列值,這個標籤主要用於 sql 的 in 語句。

select * from account where id in (1,

2,3)

"findbyids"

parametertype

="com.lin.entity.account"

resulttype

="com.lin.entity.account"

>

select * from account

>

collection

="ids"

open

="id in ("

close

=")"

item

="id"

separator

=","

>

#foreach

>

where

>

select

>

MyBatis動態SQL常用標籤 if標籤

在用mybatis之前,我們如果進行條件查詢的話 條件查詢需要判斷從前端獲取的值是否存在來進行操作 是利用 拼接來進行實現的。第一步 在介面中寫出條件查詢的方法 根據姓名和密碼進行查詢 param是mybatis所提供的 org.apache.ibatis.annotations.param 作為d...

mybatis動態SQL之if標籤

我們根據實體類的不同取值,使用不同的 sql 語句來進行查詢。比如在 id 如果不為空時可以根據 id 查詢,如果 username 不同空時還要加入使用者名稱作為條件。這種情況在我們的多條件組合查詢中經常會碰到。根據使用者資訊,查詢使用者列表 param user return listfindb...

mybatis動態標籤

動態條件判斷 select from user where 1 1 and username 動態where select from user username 動態遍歷 select from user where id in 其中 標籤 類似於switch,按順序判斷 when 中的條件出否成立...