數據庫id自增重排序問題

數據庫id自增重排序問題解決

問題描述

在做javaweb項目的過程中,使用SSM框架,發現操作數據庫的增刪查改功能時,數據庫的主鍵id不會重新排序,導致數據量一多,id值特別大特別亂,於是給出以下的解決方案。

MySQL中直接操作

直接在數據庫運行中輸入

alter table 表名 drop column 主鍵id;
alter table 表名 add 主鍵ID mediumint(8) not null primary key auto_increment first

SSM框架中操作

主要實現原理:刪除主鍵id重新生成新的主鍵id,做成數據刷新的按鈕功能,此方法唯一不足是會加大對數據庫的訪問,可能會影響性能,但是一般此功能不需要經常使用!

在你的mybatis的xml文件中可以使用DDL操作,語句放在******標籤中

 <!-- 刷新用戶 -->
 <update id="freshAllUser1">  //調用DAO層函數
     alter table 表名 drop column 主鍵id
</update>
<update id="freshAllUser2">  //調用DAO層函數
    alter table 表名 add 主鍵id  int(11) not null primary key auto_increment first
</update>

至於後面幾層的寫法就不給出了,就是調用這兩個函數,不過在業務層中封裝層一個函數調用更方便些!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章