逆向工程生成的接口中的方法詳解
在我上一篇的博客中講解了如何使用Mybayis逆向工程針對單表自動生成mapper.java、mapper.xml、實體類,今天我們先針對mapper.java接口中的部分方法進行測試,以了解其作用。
先看表結構。。。
從下圖可以看到MBG根據數據表自動生成了很多方法,基本可以滿足我們日常開發需求,我從中挑選幾個測試。
1、添加數據
添加有insert,insertSelective兩個方法。insert方法會把你傳入對象的每一個屬性的值(沒有設置就按默認值)添加到對應的數據表中的列中。而insertSelective方法會把傳入對象的非空屬性值添加到數據表,如果為空就不添加,這個打開mapper.xml查看對應的sql語句就可以看出來它們的區別。
就這么簡單,數據表中就多了一條數據。
2、根據主鍵查詢
這都很簡單,直接貼圖
根據主鍵刪除也是一個道理,在此就不再贅述。
3、自定義查詢(*Examp.java的作用)
首先要創建EmployExample對象,用來獲取criteria對象(Criteria是EmployExample類的一個靜態的成員內部類),然后就可以使用criteria對象構造查詢條件。
比如我們要查詢名字為“Richard”的員工信息。
這里根據條件查詢的結果可能是多條,所以我們用list接收。
4、自定義條件更新
需求:假如Richard離職了,Tom 接替他的工作。需要把名字為“Richard"的這條數據中的名字和郵箱修改為Tom和Tom的郵箱(不清楚Richard表中對應的id)。
這個時候如果不在xml中新建sql,就需要先查詢出對應數據,再修改對應字段,避免對不需要修改的字段重新賦值。在我這張表中還好,如果不需要修改的字段太多,手動為每個屬性賦值就會很麻煩。
這樣就OK了。熟悉了這幾個方法,其他還有很多方法依次類推也就容易理解了。