MybatisPlus.md
通用 CRUD
基于 Mybatis:
编写 EmployeeMapper 接口,并手动编写 CRUD 方法,提供 EmployeeMapper.xml 映射文件,并收订编写每个方法的 SQL 语句。
基于 MP:
只需要创建 EmployeeMapper 接口,并继承 BaseMapper 接口,就是使用 MP 需要完成的所有操作,甚至不需要创建 SQL 映射文件。
BaseMapper 接口中有很多通用接口。
主键策略:
有四种主键策略:
值 |
描述 |
IdType.AUTO |
数据库 ID 自增 |
IdType.INPUT |
用户输入 ID |
IdType.ID_WORKEER |
全局唯一 ID,内容为空自动填充(默认配置) |
IdType.UUID |
全局唯一 ID,内容为空自动填充 |
在实体类上标注对应表,
@TableId:
value :指定表中的主键列的列名,如果实体属性与列名一直,可以省略不指定。
type:指定主键策略
@TableName:
默认使用实体类的类名去找表,一般都不一样,
value=“temployee”
mybatisPlus 会自动驼峰和下划线匹配,比如实体为 lastName ,表的字段为 last_name,也可以匹配上。
mybatis2.3 默认配置了全局策略配置中的驼峰为 true
全局配置
注意,下边的配置还是要引入到 Mybatis 的配置中
<property name = “tablePrefix” value =” t“>
查询操作:
// 根据 ID 查询
T selectById(Serializable id);
// 根据 entity 条件,查询一条记录
T selectOne(@Param(Constants.WRAPPER) Wrapper queryWrapper);
// 查询(根据ID 批量查询)
List selectBatchIds(@Param(Constants.COLLECTION) Collection<? extends Serializable> idList);
// 根据 entity 条件,查询全部记录
List selectList(@Param(Constants.WRAPPER) Wrapper queryWrapper);
// 查询(根据 columnMap 条件)
List selectByMap(@Param(Constants.COLUMN_MAP) Map columnMap);
// 根据 Wrapper 条件,查询全部记录
List