"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 中的條件出否成立...