1.增加
在测试类中添加新的测试方法
2.测试结果
如果我们在添加新数据时,没有设置主键(id值),mp会自动生成19位的id值。
常见的主键生成策略,有:1.自动增长。数字ID天然排序 2.随机生成。没有排序。是唯一的 3.snowflake算法。结果是一个long型的ID
3.修改
4.测试结果
5.自动填充
使用自动填充,我们不用手动输入set方法,mybatis会自动帮我们没设置的属性设定值
5.1 User表添加两个字段
5.2 在实体类中添加这两个新字段
驼峰命名法。数据库中 create_time ==> createTime
5.3 在需要自动填充的属性上添加注解
5.4 创建类,实现接口 MetaObjectHandler,并实现接口中的方法
5.5 测试
添加新数据:
自动填充成功!
修改新数据:
自动填充成功!
6.MybatisPlus实现乐观锁
写问题(丢失更新问题) 多个人同时修改同一条记录,最后提交的人把之前提交的数据覆盖了。
悲观锁:串行。
乐观锁:version。比较版本号有没有变化
6.1 表添加字段,作为乐观锁版本号
6.2 在实体类中添加对应的版本号属性
6.3 配置乐观锁插件
新建一个配置类。把之前主类中的@MapperScan也移动到这个配置类里。
6.4 设置version自动填充
6.5 测试
1.添加新数据东方不败
2.对东方不败进行修改后,观察version是不是发生改变了
7.查询
7.1 根据id查询
selectById
7.2 多个id批量查询
7.3 条件查询
7.4 分页查询
7.4.1 配置分页插件
7.4.2 编写分页代码
7.4.3 测试结果
8.删除
8.1 根据id删除
8.2 批量删除
8.3 逻辑删除
数据并没有被真正删除,deleted字段的值由0变成了1
8.3.1 User表添加逻辑删除字段,对应实体类添加属性
8.3.2 配置逻辑删除插件
8.3.3 测试
执行的是删除代码,可是最后是update语句
再执行查询语句,查不到岳不群了
这就是逻辑删除。它还在,但是查不到了。