專案中提供了大量現成的方法,這些方法可以作為擴充套件時的參考。
例如selectall
方法。
首先定義介面:
/*** 查詢全部結果
** @return
*/@selectprovider(type = myselectprovider.class, method = "dynamicsql")
listselectall();}
}/**
* 查詢全部結果
** @param ms
* @return
*/final class<?> entityclass = getentityclass(ms);
//修改返回值型別為實體型別
setresulttype(ms, entityclass);
stringbuilder sql = new stringbuilder();
return sql.tostring();
}}在 selectall 方法中,首先是獲取了當前介面的實體型別:
final class<?> entityclass = getentityclass(ms);因為介面返回值型別為
list
,mybatis 會認為返回值型別為list
,這和我們想要的實體型別不一樣,所以下一行**就是設定返回值型別:
setresulttype(ms, entityclass);
注意,只有返回 t 或者 list 時需要設定,返回 int 型別時不需要設定。接下來就是純粹的拼接 xml 形式的 sql 了。
//select col1,col2...
//from tablename - 支援動態表名
//order by ***
這是其中最簡單的乙個方法實現。當你想要實現某種方法時,可以從已有的例子中找乙個最接近的方法,在此基礎上進行修改。
Springboot整合通用Mapper
建立springboot專案 1.在新建專案中勾選下面幾個依賴 lombok不是整合必須的 alibaba的druid資料庫連線池 com.alibaba druid spring boot starter 1.1.21 tk.mybatis 2.1.5 component server port ...
筆記 通用Mapper
需要使用包裝型別,不能使用基本資料型別。由於基本型別都有預設值,會導致mabatis在執行相關操作的時候很難判斷當前字段是否為null,所以mybatis環境下盡量不要使用基本資料型別。int預設0,double預設0.0 public inte ce extends serviceimpl aut...
神器 通用Mapper
極其方便的使用mybatis單錶的增刪改查。支援單錶操作,不支援通用的多表聯合查詢。我個人最早用 mybatis 時,先是完全手寫,然後用上了 mybatis 生成器 簡稱為 mbg 在使用 mbg 過程中,發現乙個很麻煩的問題,如果資料庫字段變化很頻繁,就需要反覆重新生成 並且由於 mbg 覆蓋生...