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

时间:2022-05-02 21:15:58

问题产生

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

解决方法

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

?
1
alter table student AUTO_INCREMENT=1;
?
1
2
3
4
5
6
7
8
9
10
11
<!--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执行插入语句前先执行更新操作

?
1
2
3
4
5
6
7
8
9
10
11
12
13
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主键自动增长出现的不连续问题内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/weixin_38283159/article/details/90371286