selectkey在mybatis中是為了解決insert資料時不支援主鍵自動生成的問題,他可以很隨意的設定生成主鍵的方式。
不管selectkey有多好,盡量不要遇到這種情況吧,畢竟很麻煩。
selectkey需要注意order屬性,像mysql一類支援自動增長bwakolgtjx型別程式設計客棧的資料庫中,order需要設定為after才會取到正確的值。
像oracle這樣取序列的情況,需要設定為before,否則會報錯。
下面是乙個xml和註解的例子,selectkey很簡單,兩個例子就夠了:
insert into table1 (name) values (#)
j**a.lang.integer" keyproperty="id">
call identity()
上面xml的傳入引數是map,selectkey會將結果放到入引數map中。用po程式設計客棧jo的情況一樣,但是有一點需要注意的是,keyproperty對應的字段在pojo中必須有相應的setter方法,setter的引數型別還要一致,否則會報錯。
@insert("insert into table2 (name) ")
@selectkey(statement="call identity()", keyproperty="nameid", before=false, resulttype=int.class)
int inserttable2(name name程式設計客棧);
上面是註解的形式。
總結
Mybatis 示例之 foreach (下)
foreach是用來對3種型別的物件進行迴圈操作的,關於foreach的基礎知識請看 mybatis 示例之 foreach 上 注 map型別沒有預設的map,所以不能直接寫collection map 如果這麼寫,需要保證傳入的map引數有 param map 註解。有關引數的更詳細內容,建議看...
MyBatis對映示例
resultmap 返回結果的對映 resultmap的id是這個對映的名字,可在查詢語句中引用表示此查詢返回該結果 type是模型物件的類名,也可以寫成別名 簡化作用 簡化成別名時,需要先註冊別名 resultmap內部 標籤表示該查詢中涉及的主鍵的對映關係 標籤表示普通資料屬性或字段的對映關係 ...
linux 多路IO轉接伺服器之select
多路io轉接伺服器也叫做多工io伺服器。該類伺服器實現的主旨思想是,不再由應用程式自己監視客戶端連線,取而代之由核心替應用程式監視檔案。1.select能監聽的檔案描述符個數受限於fd setsize,一般為1024,單純改變程序開啟的檔案描述符個數並不能改變select監聽檔案個數 2.解決102...