- 定義與作用
MyBatis - Plus 中的BaseMapper是一個介面,它提供了一系列通用的資料庫操作方法。這些方法涵蓋了常見的增刪改查(CRUD)操作,是 MyBatis - Plus 簡化資料庫訪問層開發的重要元件。
-
常用方法介紹
-
- 插入操作
int insert(T entity):
這個方法用於插入一條記錄。引數entity是要插入的實體物件,它的型別由繼承BaseMapper介面時指定的泛型決定。。在內部,MyBatis - Plus 會根據實體物件的屬性自動生成插入語句並執行插入操作,返回值是插入操作影響的行數。
- 2.刪除操作
int deleteById(Serializable id):
用於根據主鍵id刪除一條記錄。其中Serializable是主鍵的型別,通常是像Long、Integer等可以序列化的型別。它會生成類似DELETE FROM table_name WHERE id =?的 SQL 語句並執行。
int deleteByMap(@Param("cm") Map<String, Object> columnMap):
可以根據一個Map物件中的鍵值對來構建刪除條件。例如,如果columnMap中包含"name": "John"和"age": 20,那麼就會生成DELETE FROM table_name WHERE name = 'John' AND age = 20這樣的 SQL 語句進行刪除操作。
int delete(@Param("ew") Wrapper<T> wrapper):
這個方法是透過Wrapper物件來構建複雜的刪除條件。Wrapper是 MyBatis - Plus 中用於條件構造的強大工具,可以實現動態的、靈活的條件組合,如eq(等於)、ne(不等於)、like(模糊匹配)等條件。
- 更新操作
int updateById(T entity):
根據實體物件的主鍵來更新記錄。它會將實體物件中的非空屬性更新到資料庫中對應的記錄上。例如,如果User物件的id為 1,並且name屬性有新的值,那麼就會執行更新語句將name欄位的值更新到id為 1 的記錄中。
int update(@Param("et") T entity, @Param("ew") Wrapper<T> wrapper):
透過Wrapper物件構建更新條件,並且使用實體物件entity來指定更新後的內容。這使得可以在更復雜的場景下進行更新操作,比如只更新滿足特定條件的部分記錄。
- 查詢操作
T selectById(Serializable id):
根據主鍵id查詢一條記錄,並返回對應的實體物件。如果沒有找到記錄,則返回null。
List<T> selectBatchIds(@Param("idList") Collection<? extends Serializable> idList):
可以批次查詢多條記錄,引數idList是一個包含主鍵值的集合,如List
List<T> selectByMap(@Param("cm") Map<String, Object> columnMap):
根據Map物件中的鍵值對條件來查詢記錄,返回符合條件的實體物件列表。
List<T> selectList(@Param("ew") Wrapper<T> wrapper):
透過Wrapper物件構建查詢條件,返回滿足條件的實體物件列表。這是一個非常靈活的查詢方法,可以實現各種複雜的查詢需求,如多條件查詢、模糊查詢等。
Page