id生成策略
public class Book {
@TableId(type = IdType.AUTO)
private Long id;
private String type;
private String name;
private String description;
}
全局设置
可以在application.yml配置文件中对mybatisplus做全局配置
1.type-prefix:tb_ 表示为实体类的自动映射名加上tb_前缀
如User实体类如果不写@TableName(“表名”)注解的话,mybatisplus会在数据库中自动查找表名为user的表
2.id-type: auto 表示为配置id生成策略
多记录操作
deleteBatchIds()和selectBatchIds()方法可以进行多记录操作,两个方法中都需要传入一个集合对象
//根据主键删除多条记录
List<Long> list=new ArrayList<>();
list.add(100000000L);
list.add(100000001L);
list.add(100000002L);
bookDao.deleteBatchIds(list);
//根据主键查询多条记录
List<Long> list=new ArrayList<>();
list.add(1L);
list.add(2L);
list.add(3L);
bookDao.selectBatchIds(list);
逻辑删除
数据不做真正的删除,通过添加字段的方式来表示数据的删除状态,如果添加的字段值为0,则表示数据没删除,如果为1,则表示数据已经删除
1.数据库表中添加字段deleted
2.创建实体类属性,最好和数据库中名称一致
3.测试结果
删除id为1的数据
4.原理
实际上对数据库执行的是update操作
在查询全部数据的时候,不会查询到deleted为1的数据,因为在执行sql语句的时候会自动加上deleted=0条件;
5.可以通过mybatisplus全局配置来设置逻辑删除
乐观锁
为了解决并发问题,mybatisplus提供了乐观锁机制