Mybatis-plus常用API全套教程,看完没有不懂的
前言
官网:
创建数据库
数据库名为mybatis_plus
创建表
创建user表
注意:-- 真实开发中往往都会有这四个字段,version(乐观锁)、deleted(逻辑删除)、gmt_create(创建时间)、gmt_modified(修改时间)整理了一份272页MybatisPDF文档
初始化项目
使用SpringBoot器 初始化!
导入依赖
注意:尽量不要同时导入 mybatis 和 mybatis-plus!避免版本的差异造成无法预知的问题。
连接数据库
创建application.yml
业务代码
实体类
mapper接口
注意点,我们需要在主启动类上去扫描我们的mapper包下的所有接口 @MapperScan(“com.kwhua.mapper”)
测试
所有数据输出
配置日志
我们所有的sql现在是不可见的,我们希望知道它是怎么执行的,所有我们要配置日志的输出 application.yml文件添加日志配置
查看执行sql的日志信息
三.Mybatis-plus的CRUD
插入操作
看到id会自动填充。数据库插入的id的默认值为:全局的唯一id
主键生成策略
1)主键自增 1、实体类字段上 @TableId(type = IdType.AUTO)
2、数据库id字段设置为自增!
3、再次测试(可以看到id值比上次插入的大1)id的生成策略源码解释
以上不再逐一测试。
更新操作
自动填充
创建时间、修改时间!这两个字段操作都是自动化完成的,我们不希望手动更新!阿里巴巴开发手册:所有的数据库表都要配置上gmt_create、gmt_modified!而且需要自动化!
方式一:数据库级别(工作中一般不用)
1、在表中新增字段 gmt_create, gmt_modified
2、把实体类同步
3、再次查看
方式二:代码级别 1、删除数据库的默认值、更新操作!
2、实体类字段属性上需要增加注解
3、编写处理器来处理这个注解即可!
4、测试插入和更新,检查时间变化。
乐观锁
乐观锁 : 顾名思义,十分乐观,它总是认为不会出现问题,无论干什么不去上锁!如果出现了问题, 再次更新值测试 悲观锁:顾名思义,十分悲观,它总是认为总是出现问题,无论干什么都会上锁!再去操作!
乐观锁实现方式:
取出记录时,获取当前version 更新时,带上这个version 执行更新时, set version = newVersion where version = oldVersion 如果version不对,就更新失败
乐观锁:1、先查询,获得版本号 version = 1
乐观锁测试
1、给数据库中增加version字段!
2、实体类加对应的字段
3、注册组件
4、测试
version字段已经由1变成了2
可以看到线程1执行更新失败
查询操作
1、配置拦截器组件
2、直接使用Page对象即可!
物理删除
逻辑删除
物理删除 :从数据库中直接移除 逻辑删除 :在数据库中没有被移除,而是通过一个变量来让它失效!deleted = 0 => deleted = 1 管理员可以查看被删除的记录!防止数据的丢失,类似于回收站!
1、在数据表中增加一个 deleted 字段2、实体类中增加属性
3、配置
配置文件配置
4、测试 测试删除
字段值也从0修改成了1测试查询
性能分析插件
作用:性能分析拦截器,用于输出每条 SQL 语句及其执行时间 MP也提供性能分析插件,如果超过这个时间就停止运行!1、导入插件整理了一份272页MybatisPDF文档
条件构造器(Wrapper)
isNotNull .gt
.eq
其他方法可以自己测试...整理了一份272页MybatisPDF文档
代码自动生成器
执行主方法即可生成对应代码














浙公网安备 33010602011771号