我们知道:使用mybatisPlus插入数据的时候完成主键的自增;
如何实现呢?
我们知道:mysql本身的主键就是自增的,在插入数据的时候,我们完全可以不插入主键字段,mysql数据库也会自动为我们插入主键ID;
所以说,这个主键自增与mybatisplus是毫不相关的。
方式一:
mybatisplus不对主键字段只做映射,不进行自增处理。
像这样,插入数据的时候,完全不用理会这个字段,mybatisplus会自动将该字段的值填充为null;
这并不影响mysql数据的正常插入。
方式二:
要想使用mybatisplus的自增,需要为注解@TableId设置type属性。
第一步:将type的值设为:IdType.AUTO;
第二步:将数据库该字段设置为自增。
第一步:新建序列;
来到数据库,比如:plsql;
找到Sequences,右键,新建;
为序列起个名字,其它不用填,全部使用默认值,点击“应用”;
第二步:创建配置类;
import com.baomidou.mybatisplus.core.incrementer.IKeyGenerator; import com.baomidou.mybatisplus.extension.incrementer.OracleKeyGenerator; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; /** * 主键ID配置 * @description: * @author: Marydon * @date: 2022-01-19 17:33 * @version: 1.0 * @email: marydon20170307@163.com */ @Configuration public class KeyGeneratorConfig { @Bean public IKeyGenerator keyGenerator() { return new OracleKeyGenerator(); } }
启用Oracle主键生成器类。
第三步:将type的值设为:IdType.INPUT。
调用示例:
手动实例化对象并赋值的时候并没有对ID进行赋值:
哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!