课程
/后端开发
/Java
/MyBatis-Plus入门
为什么主键设置自增了,数据库也要设置,是避免雪花作用吗?
2019-08-24
源自:MyBatis-Plus入门 6-2
正在回答
Mysql支持主键自增,主键自增是依赖于数据库的机制,所以数据库中也要进行设置。有些数据库没有自增的主键,例如oracle,如果要实现主键自增依赖于sequence序列。
雪花算法是MP默认的主键策略,是通过Java程序生成的自增主键,不依赖于数据库。如果想使用数据库的自增,除了在MP中将主键策略设为自增,还要在数据库中进行设置。
老猿
佛系biu 提问者
老猿 回复 佛系biu 提问者
从两个方面解释:
首先在java中能实现主键自增依赖于jdbc驱动,比如MySQL驱动支持,但是一些其他的数据库就不支持自增.而MySQL驱动支持是因为MySQL提供了设置主键自增功能.
在java帮你自动生成主键id时,会去查询数据库拿到next Max Id,而这需要数据库的这个主键开启了自增功能,数据库才会去维护这个自增关系
举报
MyBatis-Plus框架入门必学课程!
4 回答UpdateWrapper更新字段时如何设置自增和自减
2 回答oracle数据库查询最新数据
2 回答数据表配置
2 回答oracle数据库 分页问题
1 回答AR模式下,数据无法插入到mysql数据库