mybatis向数据库里插入记录后自动返回记录ID问题

 更新时间:2025年01月14日 09:16:04   作者:左直拳  
本文介绍了在接手项目时,对一个业务处理逻辑进行重构和性能优化的经历,作者提到,性能问题可能是导致bug的一个重要原因,作者提到,在以前的.NET项目中,插入记录后系统会自动刷新实体类,为其中的主键ID赋值,而SpringBoot项目mybatis也可以通过指定主键来优化代码

mybatis向数据库里插入记录后自动返回记录ID

近期维护一个接手项目,因为找bug,重构其中一个业务处理逻辑,当中包括性能优化。我怀疑,性能是导致bug的一个重要原因。其实,就算性能与bug无关,按照我的秉性,也会忍不住半夜起来优化一下。

这里面说的性能,包括之前的代码滥用了数据库。最典型的,是插入一条记录,为了得到记录的ID(主键,自增字段),然后又查找了一遍,并且这个查找,因为现在还不知道ID,所以又结合了过滤条件。几十万条记录的表里查找,不说大海捞针,也是沙堆里淘宝,”千淘万漉虽辛苦,吹尽狂沙始到金“,服了。

但是,以前搞.NET的时候,插入记录,系统会自动刷新实体类,为里面的主键ID赋值,根本不需要自己去查找。

Spring Boot项目mybatis其实也是一样的,具体如下:

1、表设计时

ID(假设字段名叫ID)是主键,自增

2、mybatis的xml中

insert语句要指明主键

3、java代码

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java中IO和NIO的区别详细解析

    Java中IO和NIO的区别详细解析

    这篇文章主要介绍了Java中IO和NIO的区别详细解析,IO和NIO有相同的作用和目的,但实现方式不同,NIO主要用到的是块,所以NIO的效率要比IO快不少,需要的朋友可以参考下
    2023-11-11
  • Mybatis批量操作sql写法示例(批量新增、更新)

    Mybatis批量操作sql写法示例(批量新增、更新)

    Mybatis技术,现在是工作中使用频率越来越高,我们在对数据库进行操作的时候,经常会遇到批量操作的需求,这篇文章主要给大家介绍了关于Mybatis批量操作sql写法的相关资料,需要的朋友可以参考下
    2021-05-05
  • 使用Mybatis-plus更新null字段的问题分析及解决过程

    使用Mybatis-plus更新null字段的问题分析及解决过程

    文章主要讲述了在使用MybatisPlus对Oracle数据库的某个字段进行set为Null操作时遇到的问题及解决方案,尝试了全局配置和在字段上加注解等方法均未解决问题,最终通过在el表达式中指定javaType解决了问题
    2026-05-05
  • SpringBoot使用阿里oss实现文件上传的流程步骤

    SpringBoot使用阿里oss实现文件上传的流程步骤

    云服务指的就是通过互联网对外提供的各种各样的服务,比如像:语音服务、短信服务、邮件服务、视频直播服务、文字识别服务、对象存储服务等等,本文通过代码示例和图文给大家介绍了SpringBoot使用阿里oss实现文件上传的流程步骤,需要的朋友可以参考下
    2025-01-01
  • SpringBoot+EasyPOI实现百万级数据导出Excel实战指南

    SpringBoot+EasyPOI实现百万级数据导出Excel实战指南

    这篇文章主要为大家详细介绍了一款基于 EasyPOI 和 Apache POI SXSSF 的批量Excel导出工具类 BatchExcelExporter,支持大数据量分页处理,下面小编就来和大家详细介绍一下吧
    2025-09-09
  • 如何使用mybatis-plus实现分页查询功能

    如何使用mybatis-plus实现分页查询功能

    最近在研究mybatis,然后就去找简化mybatis开发的工具,发现就有通用Mapper和mybatis-plus两个比较好的可是使用,可是经过对比发现还是mybatis-plus比较好,下面这篇文章主要给大家介绍了关于如何使用mybatis-plus实现分页查询功能的相关资料,需要的朋友可以参考下
    2022-06-06
  • java项目实现猜拳小游戏

    java项目实现猜拳小游戏

    这篇文章主要为大家详细介绍了java项目实现猜拳小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-05-05
  • spring boot加载freemarker模板路径的方法

    spring boot加载freemarker模板路径的方法

    这篇文章主要介绍了spring boot加载freemarker模板路径的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • Java基础教程之final关键字浅析

    Java基础教程之final关键字浅析

    这篇文章主要给大家介绍了关于Java基础教程之final关键字的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • IDEA里找不到Maven的有效解决办法(小白超详细)

    IDEA里找不到Maven的有效解决办法(小白超详细)

    这篇文章主要给大家介绍了关于IDEA里找不到Maven的有效解决办法,文中通过图文将解决的办法介绍的非常详细,对大家的学习或者工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-07-07

最新评论