如何获取自动生成的 (主) 键值?

简介: 如何获取自动生成的 (主) 键值?

用主键回填的方式来获取自增后的 id 主键值。数据库自动生成的主键值在插入数据后我们是不能直接得到的,需要用主键回填的功能来获取。在映射文件中 SQL 语句的插入位置,用 <selectkey> 标签。再使用 SELECT LAST_INSERT_ID ();

如下:

<!-- 主键回填-->
    <!--keyProperty:主键属性  keyColumn:主键列名  resultType:主键返回值类型  order:执行时机(AFTER:插入完成后再获取主键)-->
    <insert id="add2" parameterType="com.itbaizhan.pojo.User">
       <selectKey keyProperty="id" keyColumn="id" resultType="int" order="AFTER">
           SELECT LAST_INSERT_ID();
       </selectKey>
        insert into user(username,sex,address) values (#{username},#{sex},#{address})
    </insert>

SELECT LAST_INSERT_ID():

查询刚刚插入的记录的主键值,只适用于自增主键,且必须和 insert 语句一起执行。

相关文章
|
负载均衡 监控 NoSQL
Redis系列(三):深入解读Redis主从同步机制(上)
Redis系列(三):深入解读Redis主从同步机制
|
消息中间件 监控 大数据
Kafka消息队列架构与应用场景探讨:面试经验与必备知识点解析
【4月更文挑战第9天】本文详尽探讨了Kafka的消息队列架构,包括Broker、Producer、Consumer、Topic和Partition等核心概念,以及消息生产和消费流程。此外,还介绍了Kafka在微服务、实时数据处理、数据管道和数据仓库等场景的应用。针对面试,文章解析了Kafka与传统消息队列的区别、实际项目挑战及解决方案,并展望了Kafka的未来发展趋势。附带Java Producer和Consumer的代码示例,帮助读者巩固技术理解,为面试做好准备。
1263 0
|
机器学习/深度学习 人工智能 算法
深度学习的奥秘:探索神经网络的核心原理
深度学习,一个听起来既神秘又充满魔力的词汇,它如同一扇通往未知世界的大门,背后隐藏着无尽的智慧与可能。本文将以一种通俗易懂的方式,带领读者走进深度学习的世界,探索那些构成神经网络核心的基本原理。我们将从最初的感知机模型出发,逐步深入到复杂的多层网络结构,揭示数据如何在这些网络中流动、变化,最终实现智能决策的过程。通过这篇文章,你将了解到深度学习不仅仅是技术的堆砌,更是对自然界智慧的一种模仿与致敬。
241 28
|
网络协议 网络架构
LabVIEW在TCPIP和UDP中的应用
LabVIEW在TCPIP和UDP中的应用
380 0
|
机器学习/深度学习 并行计算 算法
掌握XGBoost:GPU 加速与性能优化
掌握XGBoost:GPU 加速与性能优化
2339 0
|
存储 算法 安全
【5G NR】RRC连接重建解析
无线网络总有信号不稳定的时候,如果每次无线链路失败或者切换失败均要从头开始建立链接,无疑是比较耗费时间和系统资源的。重建流程只需要服务端对应到用户上下文,即可重建连接,简化了连接处理流程。
2567 0
【5G NR】RRC连接重建解析
|
4天前
|
云安全 人工智能 自然语言处理
|
8天前
|
人工智能 Java API
Java 正式进入 Agentic AI 时代:Spring AI Alibaba 1.1 发布背后的技术演进
Spring AI Alibaba 1.1 正式发布,提供极简方式构建企业级AI智能体。基于ReactAgent核心,支持多智能体协作、上下文工程与生产级管控,助力开发者快速打造可靠、可扩展的智能应用。
818 24