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

来自:网络
时间:2021-10-02
阅读:

问题产生

设置了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();
 }
}
返回顶部
顶部