问题产生

设置了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();
 }
}

觉得上面的内容有用吗?快来点个赞吧!

点赞() 我要打赏

温馨提示 : 本站内容来自会员投稿以及互联网,所有源码及教程均为作者总结编辑,请大家在使用过程中提前做好备份,以免发生无法预知的错误,源码类教程请勿直接用于生产环境!

 可能感兴趣的文章