日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

mybatis添加记录时返回主键id

發(fā)布時(shí)間:2025/7/25 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mybatis添加记录时返回主键id 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

參考:mybatis添加記錄時(shí)返回主鍵id

場(chǎng)景

有些時(shí)候我們?cè)谔砑佑涗洺晒笙M苤苯荧@取到該記錄的主鍵id值,而不需要再執(zhí)行一次查詢操作。
在使用mybatis作為ORM組件時(shí),可以很方便地達(dá)到這個(gè)目的。
鑒于mybatis目前已經(jīng)支持xml配置和注解2種方式,所以分別給予詳細(xì)介紹。

數(shù)據(jù)表設(shè)計(jì):

drop table if exists `test`; create table `test` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID', // 主鍵字段為自增長(zhǎng)類型`name` varchar(50) default '',`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創(chuàng)建時(shí)間',`update_time` timestamp COMMENT '編輯時(shí)間',`descr` varchar(100) default '',`url` varchar(50) default '',PRIMARY KEY (`id`) )ENGINE=InnoDB DEFAULT CHARSET=utf8;

?

使用xml配置方式

1.xml配置:

<!-- 插入數(shù)據(jù):返回記錄的id值 --> <insert id="insertOneTest" parameterType="org.chench.test.mybatis.model.Test" useGeneratedKeys="true" keyProperty="id" keyColumn="id">insert into test(name,descr,url,create_time,update_time) values(#{name},#{descr},#{url},now(),now()) </insert>

?

2.java代碼:

Test test3 = new Test(); //test3.setId(0L); test3.setName("test6"); test3.setDescr("測(cè)試數(shù)據(jù)6"); test3.setUrl("http://www.aliyun.com.cn"); int rows = sqlSession.insert("org.chench.test.mybatis.mapper.insertOneTest", test3); sqlSession.commit(); logger.info("insert rows: {}", rows); // 執(zhí)行添加記錄之后讀取POJO的主鍵id屬性 logger.info("insert test id: {}", test3.getId());

?

3.詳細(xì)解釋
首先,為了在添加記錄時(shí)能獲取到記錄主鍵id,必須在<insert>的xml配置中添加3個(gè)屬性:

<insert useGeneratedKeys="true" keyProperty="id" keyColumn="id"></insert>

?

useGeneratedKeys:必須設(shè)置為true,否則無法獲取到主鍵id。
keyProperty:設(shè)置為POJO對(duì)象的主鍵id屬性名稱。
keyColumn:設(shè)置為數(shù)據(jù)庫記錄的主鍵id字段名稱。

其次,新添加主鍵id并不是在執(zhí)行添加操作時(shí)直接返回的,而是在執(zhí)行添加操作之后將新添加記錄的主鍵id字段設(shè)置為POJO對(duì)象的主鍵id屬性。
通過訪問POJO對(duì)象的主鍵id屬性即可返回。

使用注解方式

詳見:http://www.cnblogs.com/nuccch/p/7093843.html?使用mybatis注解實(shí)現(xiàn)添加記錄時(shí)返回主鍵值

轉(zhuǎn)載于:https://www.cnblogs.com/thiaoqueen/p/8471637.html

總結(jié)

以上是生活随笔為你收集整理的mybatis添加记录时返回主键id的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。