通用mapper的總結

2021-08-28 04:10:21 字數 1341 閱讀 1034

通過唯一屬性(name 之類的)查詢乙個使用者用 selectone()

查詢多個用 select()方法

查詢個數用 selectcount()

如果要查詢所有的使用者 就在selectcount(null)方法中傳入null

通過主鍵查詢 selectbyprimarykey() 一定要用@id在bean中設定主鍵

使用者註冊一般用 insert()

使用者註冊時有多少欄位放多少字段 insertselective() 盡量用這個

(seletvice的作用表達的含義是有值的屬性)

delete 刪除 物件中有多個屬性作為引數 sql語句就會根據這些條件去刪除 傳入null就是全刪

deletebyprimarykey() 通過主鍵刪除

updatebyprimarykey 更改資料庫部分資料時,其他的資料將會變成空

updatebyprimarykeyselective 此方法在資料庫部分資料時,只會修改要更改的部分資料 其他的資料不會動(開發中常用)

selectbyexample()方法

首先構建乙個案例模板

new example(user.class);

構建乙個查詢條件

new example().createcriteria();

4.部分方法

1.selectone:會把接收的物件中的非空屬性作為查詢的條件,返回匹配到的乙個物件,多個查詢條件之間是and關係,如果查詢的結果不止乙個,會丟擲異常

2.select:會把物件中的非空屬性作為查詢的條件,返回匹配到的多個使用者的list集合,and關係,如果想查詢所有,可以傳入null

3.selectcount:根據條件查詢總條數資訊,也是接收物件作為查詢條件,返回總條數

4.selectbyprimarykey:根據主鍵查詢,指在bean中加了@id註解的字段

5.insert:新增一條資料,把接收到的物件插入資料庫,不管字段是否為null

6.insertselective:新增一條資料,僅插入非null欄位,接收物件

7.delete:根據條件刪除,接收乙個物件,把物件的非空字段作為條件

8.deletebyprimarykey:根據主鍵刪除

9.updatebyprimarykeyselective:接收乙個物件,其中的主鍵id作為修改的條件,物件的非null欄位屬性都會被修改

example類

通過example類可以實現特殊條件查詢

建立example物件,並且制定要操作的實體類的class物件

建立條件查詢物件,可使用and關係,or關係,或者實現排序

筆記 通用Mapper

需要使用包裝型別,不能使用基本資料型別。由於基本型別都有預設值,會導致mabatis在執行相關操作的時候很難判斷當前字段是否為null,所以mybatis環境下盡量不要使用基本資料型別。int預設0,double預設0.0 public inte ce extends serviceimpl aut...

神器 通用Mapper

極其方便的使用mybatis單錶的增刪改查。支援單錶操作,不支援通用的多表聯合查詢。我個人最早用 mybatis 時,先是完全手寫,然後用上了 mybatis 生成器 簡稱為 mbg 在使用 mbg 過程中,發現乙個很麻煩的問題,如果資料庫字段變化很頻繁,就需要反覆重新生成 並且由於 mbg 覆蓋生...

mysql 通用mapper 通用Mapper

原理是 如何實現動態拼接sql語句?思路 編寫mybatis的外掛程式,在執行過程中動態生成sql語句 2 簡介 3 在mybatis的配置檔案中進行配置 p public config 3.0 en 3.3 service 使用 servicepublic classnewuserservice ...