需要使用包裝型別,不能使用基本資料型別。
由於基本型別都有預設值,會導致mabatis在執行相關操作的時候很難判斷當前字段是否為null,所以mybatis環境下盡量不要使用基本資料型別。
int預設0,double預設0.0 .....
public
inte***ce
extends
//serviceimpl
@autowired
public employee findone
(employee emp)
3.建立測試類
//測試類
employee emp =
newemployee
(id,
"tom"
,***)
;//查詢條件
employee findemp = employeeservice.
findone
(emp)
;//查詢結果
system.out.
println
(findemp)
;//檢視結果
三.常見註解
1.@table註解
作用:建立實體類和資料庫表之間的對應關係
預設規則:實體類類名首字母小寫作為表名,employee類 -->employee表
用法:在@table註解的name屬性上對應資料庫的表名。
2.@column註解
作用:建立實體類與資料庫表中字段之間的對應關係
預設規則:實體類字段:駝峰式命名
資料庫字段:使用「_」區分各個單詞
用法:在@column註解中的name屬性指定目標欄位的欄位名
3.@id:設定實體類的字段為資料庫表對應的主鍵字段
注:使用selectbyprimarykey(),必須標明主鍵字段
4.@generatedvalue註解
自增主鍵用法:
@generatedvalue(strategy = generationtype.identity)
序列主鍵用法(oracle):
@generatedvalue(strategy = generationtype.identity, generator = "select seq_id.nextval from dual")
應用場景:購物車結賬
生成訂單資料 ->封裝到order物件中->儲存order物件->資料庫自動生成主鍵值->會寫到實體類order物件中
->生成一系列訂單詳情資料->封裝到list->在orderitem中設定order物件的主鍵值作為外來鍵->批量儲存list5.@trnsient註解
@table
(name=
"tab_emp"
)public
class
employee
四、常用方法
1.selectone方法:查詢一條資料
實體類封裝查詢條件生成where子句的規則:
a.使用非空的值生成where子句
b.在條件表示式中使用的都是「=」進行比較
3.existswithprimarykey(不常用):通過查詢主鍵判斷資料是否存在 神器 通用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 ...
通用mapper的總結
通過唯一屬性 name 之類的 查詢乙個使用者用 selectone 查詢多個用 select 方法 查詢個數用 selectcount 如果要查詢所有的使用者 就在selectcount null 方法中傳入null 通過主鍵查詢 selectbyprimarykey 一定要用 id在bean中設...