1.情景展示
我们知道:使用mybatisPlus插入数据的时候完成主键的自增;
如何实现呢?
2.mysql
我们知道:mysql本身的主键就是自增的,在插入数据的时候,我们完全可以不插入主键字段,mysql数据库也会自动为我们插入主键ID;
所以说,这个主键自增与mybatisplus是毫不相关的。
方式一:
mybatisplus不对主键字段只做映射,不进行自增处理。
像这样,插入数据的时候,完全不用理会这个字段,mybatisplus会自动将该字段的值填充为null;
这并不影响mysql数据的正常插入。
方式二:
要想使用mybatisplus的自增,需要为注解@TableId设置type属性。
第一步:将type的值设为:IdType.AUTO;
第二步:将数据库该字段设置为自增。
3.oracle
第一步:新建序列;
来到数据库,比如: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进行赋值:
写在最后
哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!