好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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

问题产生

设置了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

查看更多关于Mybaits处理mysql主键自动增长出现的不连续问题解决的详细内容...

  阅读:14次