003 主键问题
Posted trekxu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了003 主键问题相关的知识,希望对你有一定的参考价值。
一.概述
主键的问题在mybatis-plus之中给出了一个解决方法,我们可以指定一个主键生成策略.
本节我们来说明一下主键的问题.
二 .主键生成策略
public enum IdType { AUTO(0, "数据库ID自增"), INPUT(1, "用户输入ID"), /* 以下2种类型、只有当插入对象ID 为空,才自动填充。 */ ID_WORKER(2, "全局唯一ID"), UUID(3, "全局唯一ID"), NONE(4, "该类型为未设置主键类型"), ID_WORKER_STR(5, "字符串全局唯一ID");
我们看一下,这里已经有了我们常用的主键生成策略了.
我们可能常用的就是auto策略,或者是全局唯一的注解,或者是UUID.
上面的主键生成策略都是我们可以接受的.
三 .获取插入值的主键值
@Test public void insertForPrimaryKey() { User user = User.builder().lastName("trek"). gender(1).age(12).build(); int result = userMapper.insert(user); System.out.println(result); System.out.println(user.getId()); }
JDBC Connection [[email protected]] will not be managed by Spring ==> Preparing: INSERT INTO sys_user ( last_name, gender, age ) VALUES ( ?, ?, ? ) ==> Parameters: trek(String), 1(Integer), 12(Integer) <== Updates: 1 Closing non transactional SqlSession [[email protected]] 1 4
我们发现,mybatis-plus会帮助我们自动的获取主键值,这个是我们非常喜欢看到的.
以上是关于003 主键问题的主要内容,如果未能解决你的问题,请参考以下文章