mapper的一些注意事項和標籤

2021-08-28 05:38:47 字數 1992 閱讀 9699

在使用springboot和mybatis時出現了一些bug,修改時發現了一些問題。

public class testdao

}

2. trim標籤

1、trim 有四個屬性

2、prefix,suffix 表示在trim標籤包裹的部分的前面或者後面新增內容(注意:是沒有prefixoverrides,suffixoverrides的情況下)

3、如果有prefixoverrides,suffixoverrides 表示覆蓋overrides中的內容。

4、如果只有prefixoverrides,suffixoverrides 表示刪除。

@insert()

int insert(@param("batchno")string batchno,@param("jobtype")string jobtype);

如果傳入的引數中batchno有值,jobtype為null,則sql語句會被替換為

insert into stat batch_no,last_modified_date values (batchno,***);

3. selectkey註解

用來獲取自增主鍵

4. @results

mybatis中使用@results註解來對映查詢結果集到實體類屬性。(注,用法介紹抄自部落格

(1)@results的基本用法。當資料庫欄位名與實體類對應的屬性名不一致時,可以使用@results對映來將其對應起來。column為資料庫欄位名,porperty為實體類屬性名,jdbctype為資料庫字段資料型別,id為是否為主鍵。

@select()

@results()

listselectall();

如上所示的資料庫欄位名class_id與實體類屬性名classid,就通過這種方式建立了對映關係。

(2)@resultmap的用法。當這段@results**需要在多個方法用到時,為了提高**復用性,我們可以為這個@results註解設定id,然後使用@resultmap註解來復用這段**。

@select()

@results(id="studentmap", value=)

listselectall();

@select("})

@resultmap(value="studentmap")

student selectbyid(integer id);

@select()

@results(id="studentmap", value=)

listselectallandclassmsg();

(4)@many的用法。與@one類似,只不過如果使用@one查詢到的結果是多行,會丟擲toomanyresultexception異常,這種時候應該使用的是@many註解,實現一對多的查詢。比如在需要查詢學生資訊和每次考試的成績資訊時。

@select()

@results(id="studentmap", value=)

listselectallandgrade();

(5) 注意用@resultmap有個坑,如上例中,假如:

@resultmap(value="studentmap")

teacher selectteacher();

selectall()返回的資料通過studentmap對映後會變為student型別(即定義@results時的型別),將導致型別轉換錯誤,丟擲classcastexception,解決方法是不要使用@resultmap,重新寫乙個@results(id=「teacher」 value = {}) 即可(id=「teacher」可以去掉).

一些注意事項

0.解題思路 a.普通思路 b.遞迴 bfs dfs c.動態規劃 比遞迴快 d.雙指標 比for迴圈快 如 快慢指標方法 e.用棧 1.陣列初始化 int a new int 5 a 0 預設為0.二維陣列也一樣。boolean b new boolean 5 b 0 預設為false.strin...

php XPATH一些注意事項

40集 建立乙個dom物件並讀取xml檔案到記憶體中 dom new domdocument 1.0 utf 8 dom load book.xml 建立乙個xpath物件 xpath new domxpath dom sql bookstore book 1 title 注意此處路徑數字從1開始,...

vue一些注意事項

1.生命週期鉤子的this上下文指向呼叫它的 vue 例項。不要在選項屬性或 上使用箭頭函式,比如 created console.log this.a 或 vm.watch a newvalue this.mymethod 因為箭頭函式是和父級上下文繫結在一起的,this 不會是如你所預期的 vu...