MyBatis处理mysql主键自动增长出现的不连续问题解决

 更新时间:2022年01月24日 15:34:23   作者:__师寇__  
本文主要介绍了MyBatis处理mysql主键自动增长出现的不连续问题解决,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

问题产生

设置了mysql主键自动增长,但因为删除字段的操作导致主键不连续

解决方法

step1:在mapper.xml文件中添加update标签设置自动增长的增量为1

 alter table student AUTO_INCREMENT=1;
<!--StudentMapper.xml文件-->
<mapper namespace="StudentMapper">
 ...
 ...
 <update id="alter">
        alter table student AUTO_INCREMENT=1;
    </update>
    <insert id="insert" parameterType="com.cooooode.bean.Student" >
        insert into student (name,score) values (#{name},#{score});
    </insert>
 </mapper>

step2: 在sqlSession执行插入语句前先执行更新操作

SqlSession sqlSession = null;
try{
 sqlSession = ??? 
 sqlSession.update("StudentMapper.alter");         // 先更新
 sqlSession.insert("StudentMapper.insert",student);// 后插入
}catch(...){
 //TODO
}finally{
 if(sqlSession != null){
  sqlSession.commit();
  sqlSession.close();
 }
}

到此这篇关于Mybaits处理mysql主键自动增长出现的不连续问题的文章就介绍到这了,更多相关Mybaits处理mysql主键自动增长出现的不连续问题内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:

相关文章

  • MyBatis-plus 模糊查询的使用

    MyBatis-plus 模糊查询的使用

    这篇文章主要介绍了MyBatis-plus 模糊查询的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • 一篇文章教会你使用java爬取想要的资源

    一篇文章教会你使用java爬取想要的资源

    这篇文章主要介绍了使用java爬虫爬取想要的资源,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-08-08
  • java中ThreadLocalRandom的使用详解

    java中ThreadLocalRandom的使用详解

    这篇文章主要介绍了java中ThreadLocalRandom的使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • java高并发之理解进程和线程

    java高并发之理解进程和线程

    这篇文章主要给大家介绍了关于java高并发进程和线程的内容,文中通过示例代码介绍的非常详细,对大家学习或者使用java具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2021-10-10
  • JSON for java快速入门总结学习

    JSON for java快速入门总结学习

    这篇文章主要介绍了JSON for java入门总结学习,有需要的可以了解一下。
    2016-11-11
  • 通过AOP拦截Spring Boot日志并将其存入数据库功能实现

    通过AOP拦截Spring Boot日志并将其存入数据库功能实现

    本文介绍了如何使用Spring Boot和AOP技术实现拦截系统日志并保存到数据库中的功能,包括配置数据库连接、定义日志实体类、定义日志拦截器、使用AOP拦截日志并保存到数据库中等步骤,感兴趣的朋友一起看看吧
    2023-08-08
  • 最全面的JVM优化经验总结

    最全面的JVM优化经验总结

    这篇文章主要介绍了最全面的JVM优化经验总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,,需要的朋友可以参考下
    2019-06-06
  • 浅谈java中Math.random()与java.util.random()的区别

    浅谈java中Math.random()与java.util.random()的区别

    下面小编就为大家带来一篇浅谈java中Math.random()与java.util.random()的区别。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09
  • 基于Java创建一个订单类代码实例

    基于Java创建一个订单类代码实例

    这篇文章主要介绍了基于Java创建一个订单类代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • MyBatis Plus实现中文排序的两种有效方法

    MyBatis Plus实现中文排序的两种有效方法

    在MyBatis Plus项目开发中,针对中文数据的排序需求是一个常见的挑战,尤其是在需要按照拼音或特定语言逻辑排序时,本文整合了两种有效的方法,旨在帮助开发者克服MyBatis Plus在处理中文排序时遇到的障碍,需要的朋友可以参考下
    2024-08-08

最新评论