@Override
public boolean insert(SysPosition position) {
// return this.positionDao.insert(position);
boolean bolR=false;
try {
//开启事务
JdbcUtils.beginTransaction();
//查询理论下一序号
int nextSort=this.countAll()+1;
//传入的序号 小于 nextSort,用户调小的自动生成的序号
if (nextSort> position.getPositionSort()){
boolean isOK=this.positionDao.updateSortPlus1(position.getPositionSort(),null);
if (!isOK){
throw new SQLException(“序号调整失败: minSort”+position.getPositionSort());
}
}
//新增
boolean isOk=this.positionDao.insert(position);
if (isOk){
bolR=true;
//提交事务
JdbcUtils.commitTransaction();
}else {
throw new SQLException("新增操作失败: "+position);
}
} catch (SQLException throwables) {
//事务的回滚
try {
JdbcUtils.rollbackTransaction();
} catch (SQLException e) {
e.printStackTrace();
}
throwables.printStackTrace();
}
return bolR;
}
事务的运用
最新推荐文章于 2022-10-05 08:27:47 发布