在 service 层直接调用。
- insert(user) 增
- selectById(1) 根据id查
- updateById(user) 更新
- selectByMap(map) 根据条件查
- selectBatchIds(list) 根据多个id查
- selectPage(page, null) 分页查
- deleteById(1) 删除id为1的用户
- deleteByMap(map) 删除符合条件的用户
- deleteBatchIds(list) 删除多个id的用户
@TableId(type=IdType.AUTO)
- IdType.AUTO:自增
- ASSIGN_ID:分配ID(主键类型为Long、Integer或String)。默认是雪花算法,根据时间戳自增。
- ASSIGN_UUID:分配UUID(主键类型为String)。
添加注释:
- @TableId(type = IdType.AUTO)
- private Long id; //ID
@TableField(fill = FieldFill.INSERT)
- FieldFill.INSERT:插入时,对这个属性进行操作
- FieldFill.INSERT_UPDATE:插入和更新时,都要对这个属性进行操作
1. 添加注释:
- @TableField(fill = FieldFill.INSERT)
- private LocalDateTime createTime;
-
- @TableField(fill = FieldFill.INSERT_UPDATE)
- private LocalDateTime updateTime;
2. 创建一个处理器,实现 MetaObjectHandler 接口:
- @Slf4j
- @Component
- public class MyMetaObjectHandler implements MetaObjectHandler {
- //插入时的填充策略
- @Override
- public void insertFill(MetaObject metaObject) {
- log.info("start intsert fill ....");
- this.strictInsertFill(metaObject,"createTime", LocalDateTime.class,LocalDateTime.now());// 起始版本 3.3.0(推荐使用)
- this.strictInsertFill(metaObject,"updateTime", LocalDateTime.class,LocalDateTime.now());// 起始版本 3.3.0(推荐使用)
-
- }
-
- //更新时的填充策略
- @Override
- public void updateFill(MetaObject metaObject) {
- log.info("start update fill ....");
- this.strictUpdateFill(metaObject, "updateTime", LocalDateTime.class, LocalDateTime.now()); // 起始版本 3.3.0(推荐)
- }
- }
1.添加一个配置类。
- @Configuration
- public class MybatisPlusConfig {
-
- @Bean
- public MybatisPlusInterceptor mybatisPlusInterceptor() {
- MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
- // 添加分页插件
- interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
- return interceptor;
- }
-
- }
2. 在 service 层调用 selectPage(page, null)
- Page
page = new Page<>(index, num); - Page
employeePage = employeeMapper.selectPage(page, null);
Page的分页原理(MyBatis版):本质是使用了 threadlocal,把 index 和 num 放入到 threadlocal里,然后动态拼接 mysql 语句。
输入:第几页index、每页展示几个数据 num。
返回:这几个数据、当前页、总页数、总数据条数、是否有上一页、是否有下一页
以上所有参考: