- 定义与作用
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