mybatis plus主键自增(mysql、oracle)

1.情景展示

我们知道:使用mybatisPlus插入数据的时候完成主键的自增;

如何实现呢?

2.mysql

我们知道:mysql本身的主键就是自增的,在插入数据的时候,我们完全可以不插入主键字段,mysql数据库也会自动为我们插入主键ID;

所以说,这个主键自增与mybatisplus是毫不相关的。

方式一:

mybatisplus不对主键字段只做映射,不进行自增处理。

mybatis plus主键自增(mysql、oracle)

像这样,插入数据的时候,完全不用理会这个字段,mybatisplus会自动将该字段的值填充为null;

这并不影响mysql数据的正常插入。

方式二:

要想使用mybatisplus的自增,需要为注解@TableId设置type属性。

第一步:将type的值设为:IdType.AUTO;

mybatis plus主键自增(mysql、oracle)

第二步:将数据库该字段设置为自增。

mybatis plus主键自增(mysql、oracle)

3.oracle

第一步:新建序列;

来到数据库,比如:plsql;

找到Sequences,右键,新建;

mybatis plus主键自增(mysql、oracle)

为序列起个名字,其它不用填,全部使用默认值,点击“应用”;

mybatis plus主键自增(mysql、oracle)

第二步:创建配置类;

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。

mybatis plus主键自增(mysql、oracle)

调用示例:

手动实例化对象并赋值的时候并没有对ID进行赋值:

mybatis plus主键自增(mysql、oracle)

mybatis plus主键自增(mysql、oracle)

写在最后

  哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!

 相关推荐:

上一篇:Oracle数据库学习(7)增删改操作与事务控制


下一篇:ORACLE数据库相关操作