MybatisPlus学习(四)---DML编程控制
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提供了乐观锁机制
下一篇:
分库分表是什么,什么情况下需要用分库分表