问题产生

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

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。