Mybatis中如何获取生成的主键
发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这篇文章主要介绍了Mybatis中如何获取生成的主键,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。如何获取生成的主键对于支持主键自增的
千家信息网最后更新 2026年11月04日Mybatis中如何获取生成的主键
这篇文章主要介绍了Mybatis中如何获取生成的主键,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
如何获取生成的主键
对于支持主键自增的数据库(MySQL)
insert into user( user_name, user_password, create_time) values(#{userName}, #{userPassword} , #{createTime, jdbcType= TIMESTAMP})
parameterType 可以不写,Mybatis可以推断出传入的数据类型。如果想要访问主键,那么应当parameterType 应当是java实体或者Map。这样数据在插入之后 可以通过ava实体或者Map 来获取主键值。通过 getUserId获取主键
不支持主键自增的数据库(Oracle)
对于像Oracle这样的数据,没有提供主键自增的功能,而是使用序列的方式获取自增主键。
可以使用<selectKey>标签来获取主键的值,这种方式不仅适用于不提供主键自增功能的数据库,也适用于提供主键自增功能的数据库<selectKey>一般的用法
SELECT USER_ID.nextval as id from dual insert into user( user_id,user_name, user_password, create_time) values(#{userId},#{userName}, #{userPassword} , #{createTime, jdbcType= TIMESTAMP})
此时会将Oracle生成的主键值赋予userId变量。这个userId 就是USER对象的属性,这样就可以将生成的主键值返回了。如果仅仅是在insert语句中使用但是不返回,此时keyProperty="任意自定义变量名",resultType 可以不写。
Oracle 数据库中的值要设置为 BEFORE ,这是因为 Oracle中需要先从序列获取值,然后将值作为主键插入到数据库中。
感谢你能够认真阅读完这篇文章,希望小编分享的"Mybatis中如何获取生成的主键"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
数据
数据库
生成
篇文章
功能
支持
变量
实体
序列
方式
价值
兴趣
可以通过
同时
对象
就是
属性
是在
更多
朋友
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技网
科技互联网公司装修
贷财互联网科技
天津摩尔互联网科技
互联网高科技企业
互联网科技汛
互联网科技股有哪些
深圳互联网科技怎么样
中国最先进互联网科技公司
隆华科技工业互联网
中国科技互联网公司收入
互联网科技寓意
互联网时代科技改变生活
浙江互联网科技研学营
开一家科技互联网公司需要多少钱
互联网保险科技创业
东莞新华互联网科技学校
用友工业互联网科技发展
烟台灵鸽互联网科技有限公司
从那以后互联网科技有限公司
互联网科技财经
互联网科技与金融科技
赫美联合互联网科技
掌上梦互联网科技
互联网高科技企业
互联网科技股午盘股票涨跌
成都互联网科技公司100强
新兴科技互联网创新大赛颁奖典礼
互联网方面的科技前沿
互联网的科技体现在哪里