一、实体类操作相关API
BaseMapper<T>
接口
- 功能:这是 MyBatis - Plus 为每个实体类对应的 Mapper 接口提供的基础接口。它提供了一系列基本的 CRUD(增删改查)操作方法。例如
insert(T entity)
方法用于插入一条记录,deleteById(Serializable id)
方法用于根据主键删除一条记录,selectById(Serializable id)
用于根据主键查询一条记录,updateById(T entity)
用于根据主键更新一条记录。 - 示例:假设我们有一个
User
实体类,对应的UserMapper
接口继承了BaseMapper<User>
我们可以在业务代码中这样使用:
Service
层相关接口和实现类
IService<T>
接口和ServiceImpl<M extends BaseMapper<T>, T>
类:IService
接口定义了一系列常用的业务逻辑方法,如批量插入、批量删除、根据条件查询等。ServiceImpl
是IService
接口的默认实现类,它需要传入对应的BaseMapper
和实体类类型。
二、条件构造器相关 API(QueryWrapper
和UpdateWrapper
)
QueryWrapper<T>
- 功能:用于构建查询条件。它提供了丰富的方法来构建 SQL 的
WHERE
子句。例如eq
方法用于等于条件(如queryWrapper.eq("name", "张三")
表示查询名字等于张三的记录),like
方法用于模糊查询(如queryWrapper.like("name", "张")
表示查询名字中包含 “张” 字的记录),gt
(大于)、lt
(小于)等方法用于比较大小,in
方法用于IN
操作等。 - 示例:
UpdateWrapper<T>
这会将名字为 “张三” 的用户年龄更新为 20 岁。
- 功能:主要用于构建更新操作的条件。和
QueryWrapper
类似,它也有各种条件构建方法,用于指定更新哪些记录。例如set
方法用于设置要更新的字段和值,eq
等条件方法用于指定更新的条件。 - 示例:
三、分页相关API
-
IPage<T>
接口和Page<T>
类上述代码查询第一页,每页 10 条用户记录,然后输出总记录数、总页数和当前页的用户数据。
- 功能:
IPage
定义了分页相关的属性和方法,如总记录数、总页数、当前页码、每页记录数等。Page
是IPage
的实现类,用于创建分页对象。在进行分页查询时,通过传入Page
对象和查询条件,可以获取分页后的结果集和分页信息。 - 示例:
- 功能:
四、其他实用API
运行上述代码后,会根据数据库中的表结构自动生成相应的代码。
-
代码生成器(
AutoGenerator
)- 示例:
- 功能:用于自动生成 MyBatis - Plus 的代码,包括实体类、Mapper 接口、Mapper.xml 文件、Service 接口和实现类等。它可以根据数据库表结构自动生成基本的代码框架,大大提高开发效率。