Mybatis的輸出結果封裝

2022-06-10 18:57:11 字數 1323 閱讀 4993

resulttype屬性可以指定結果集的型別,它支援基本型別和實體類型別。

需要注意的是,它和parametertype一樣,如果註冊過型別別名的,可以直接使用別名。

沒有註冊過的必須使用全限定類名。

同時,當是實體類名稱是,還有乙個要求,實體類中的屬性名稱必須和查詢語句中的列名保持一致,否則無法實現封裝。

修改實體類**:(此時的實體類屬性和資料庫表的列名已經不一致了)

資料庫列名:

此時若是還是使用原來的對映配置檔案

執行查詢後的結果:

為什麼名稱會有值呢?

因為mysql在windows系統中不區分大小寫! linux系統下嚴格區分大小寫

此時 若修改對映配置使用別名進行查詢

此時可以將結果正常封裝進去

resultmap標籤可以建立  查詢的列名  和  實體類的屬性名稱  不一致時  建立對應關係。從而實現封裝。

在select標籤中使用resultmap屬性指定引用即可。

同時resultmap可以實現將查詢結果對映為複雜型別的pojo,比如在查詢結果對映物件中包括pojo和list實現一對一查詢和一對多查詢。

resultmap標籤中:

type屬性:指定實體類的全限定類名

id屬性:給定乙個唯一標識,是給查詢select標籤引用用的。

id標籤:用於指定主鍵字段

result標籤:用於指定非主鍵字段

column屬性:用於指定資料庫列名

property屬性:用於指定實體類屬性名稱

結果:

MyBatis 03 輸出結果封裝

查詢總記錄條數 int findtotal findtotal resulttype int select count from user select 查詢所有使用者 list findall findall resulttype com.jess.domain.user select from ...

MyBatis 輸出結果

resulttype resulttype 執行 sql 得到 resultset 轉換的型別,使用型別的完全限定名或別名。注意如果返回的是集 合,那應該設定為集合包含的型別,而不是集合本身。resulttype 和 resultmap,不能同時使用。簡單型別 介面方法 int countstude...

關於Mybatis查詢結果的封裝

1.結果封裝為list 介面示例 public listselectmemberslistbyname string name 配置檔案示例 select id selectmemberslistbyname resulttype members select from members where ...