Springboot中useGeneratedKeys用法小結
在Spring Boot項目中,useGeneratedKeys
是 MyBatis 框架中的一個參數(shù),用于指定是否允許 JDBC 支持自動生成主鍵。這個參數(shù)可以在三個不同的位置設置:全局配置文件、XML 映射器和接口映射器。
全局配置文件
可以在 MyBatis 的全局配置文件 mybatis-config.xml
中的 <settings>
元素內設置 useGeneratedKeys
參數(shù)。例如:
<settings> <setting name="useGeneratedKeys" value="true"/> </settings>
這樣設置后,所有接口映射器中的插入操作都會嘗試獲取自動生成的主鍵,但對 XML 映射器不起作用。
XML 映射器
在具體的 XML 映射文件中,可以在 <insert>
標簽中設置 useGeneratedKeys
屬性。例如:
<insert id="addBigdataGroup" parameterType="BigdataGroup" useGeneratedKeys="true" keyProperty="groupId" keyColumn="group_id"> insert into bigdata_group (group_id, group_name, comment, business_line, create_by, remark, create_time) values(#{groupId}, #{groupName}, #{comment}, #{businessLine}, #{createBy}, #{remark}, sysdate()) </insert>
這里 keyProperty
指定了 Java 對象中的屬性名,keyColumn
指定了數(shù)據(jù)庫中的列名,這樣在插入操作后,MyBatis 會將生成的主鍵值回填到對應的 Java 對象屬性中。
接口映射器
在接口映射器中,可以使用 @Options
注解來設置 useGeneratedKeys
參數(shù)。例如:
@Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "id") @Insert("insert into test(name,descr,url,create_time,update_time) values(#{name},#{descr},#{url},now(),now())") Integer insertOneTest(Test test);
在這里,keyProperty
指定了 Java 對象中的屬性,keyColumn
指定了數(shù)據(jù)庫中的列名,useGeneratedKeys
設置為 true
表示啟用自動生成主鍵。
請注意,如果在接口映射器中設置了 useGeneratedKeys
參數(shù),那么這個設置會覆蓋全局配置文件中相同的設置。
如果在配置了 useGeneratedKeys
后,插入操作沒有返回預期的主鍵值,可能是因為數(shù)據(jù)庫驅動不支持自動生成主鍵,或者配置有誤。確保數(shù)據(jù)庫表配置了自動生成主鍵,并且 JDBC 驅動支持這一特性。
到此這篇關于Springboot中useGeneratedKeys用法小結的文章就介紹到這了,更多相關Springboot useGeneratedKeys內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
通過netty把百度地圖API獲取的地理位置從Android端發(fā)送到Java服務器端的操作方法
這篇文章主要介紹了通過netty把百度地圖API獲取的地理位置從Android端發(fā)送到Java服務器端,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-10-10詳解java中的PropertyChangeSupport與PropertyChangeListener
這篇文章主要介紹了詳解java中的PropertyChangeSupport與PropertyChangeListener的相關資料,需要的朋友可以參考下2017-09-09Java實現(xiàn)數(shù)據(jù)庫連接的最詳細教程分享
JDBC,Java?Database?Connectivity,即Java數(shù)據(jù)庫連接,是?Java?中的一套和數(shù)據(jù)庫進行交互的API,本文就來講講Java如何利用JDBC實現(xiàn)數(shù)據(jù)庫的連接吧2023-05-05java字節(jié)碼框架ASM操作字節(jié)碼的方法淺析
這篇文章主要給大家介紹了關于java字節(jié)碼框架ASM如何操作字節(jié)碼的相關資料,文中通過示例代碼介紹的很詳細,有需要的朋友可以參考借鑒,下面來一起看看吧。2017-01-01