Mybatis 向statement傳入多個引數

2022-05-02 08:30:11 字數 1220 閱讀 5903

1、一般情況下可以將多個引數放入map,讓map作為statement的引數

public

void update(@param("fieldmap") mapfields);

<

update

id="update"

parametertype

="map"

>

update

<

include

refid

="table"

/>

set

<

foreach

item

="value"

index

="key"

collection

="fieldmap"

separator

=","

>

$ = #

foreach

>

where

id = #

update

>

map的缺點是裡面的key值只有到了執行期才知道,而且無法處理類似乙個integer,乙個list的情況

如果專門寫個pojo的話,這個pojo的復用性可能不好,容易定義大量的類。

2、另乙個方法是在statement的介面方法宣告中,設計多個引數。

public

void set(@param("name") string namestr, @param("ids") listpos);

<

insert

id="set"

>

update

<

include

refid

="table"

/>

set name = #

where id in

<

foreach

collection

="pos"

item

="po"

open

="("

separator

=","

close

=")"

>

#

foreach

>

insert

>

Prestatement與Statement的區別

看下面兩段程式片斷 code fragment 1 string updatestring update coffees set sales 75 where cof name like colombian stmt.executeupdate updatestring code fragment ...

MyBatis向資料庫中批量插入資料

foreach collection 指定要遍歷的集合 表示傳入過來的引數的資料型別。該引數為必選。要做 foreach 的物件,作為入參時,list 物件預設用 list 代替作為鍵,陣列物件有 array 代替作為鍵,map 物件沒有預設的鍵。當然在作為入參時可以使用 param keyname...

Mybatis框架 初始Mybatis

1.1.mybatis框架簡介 mybatis是乙個開源的資料持久層框架,它的內部封裝了通過了jdbc訪問資料庫的操作,支援普通的sql查 詢 儲存過程和高階對映,幾乎消除了所有的jdbc 和引數的手工設定以及結果集的檢索。其主要思想是將sql 語句剝離出來,配置在配置檔案中,實現sql的靈活配置 ...