課程
/后端開發
/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數據庫
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2019-08-25
? ? ? ?Mysql支持主鍵自增,主鍵自增是依賴于數據庫的機制,所以數據庫中也要進行設置。有些數據庫沒有自增的主鍵,例如oracle,如果要實現主鍵自增依賴于sequence序列。
? ? ? ?雪花算法是MP默認的主鍵策略,是通過Java程序生成的自增主鍵,不依賴于數據庫。如果想使用數據庫的自增,除了在MP中將主鍵策略設為自增,還要在數據庫中進行設置。
2019-08-24
從兩個方面解釋:
首先在java中能實現主鍵自增依賴于jdbc驅動,比如MySQL驅動支持,但是一些其他的數據庫就不支持自增.而MySQL驅動支持是因為MySQL提供了設置主鍵自增功能.
在java幫你自動生成主鍵id時,會去查詢數據庫拿到next Max Id,而這需要數據庫的這個主鍵開啟了自增功能,數據庫才會去維護這個自增關系