获取一个链接 Connection conn = getConnection; 开启事务管理 try connsetAutoCommitfalse; 判断用户是否有其他未完成的挂号 int existingRegistrations = registrationDaoqueryStatusStringvalueOfregistrati
以下是将原始代码嵌入到新代码中的修改:
Connection connection = null; try { //获取数据库连接 connection = DbUtil.getConnection(); //开启事务管理--关闭自动提交 connection.setAutoCommit(false);
// 判断用户是否有其他未完成的挂号
int existingRegistrations = registrationDao.queryStatus(String.valueOf(registration.getUser_id()));
if (existingRegistrations > 0) {
// 可以添加逻辑来处理用户有未完成挂号的情况
return false;
}
// 插入挂号信息
boolean registrationSuccess = registrationDao.insert(registration);
if (!registrationSuccess) {
connection.rollback();
return false;
}
// 增加医生预约数量
boolean doctorUpdateSuccess = doctorDao.addNums(String.valueOf(registration.getDoctor_id()));
if (!doctorUpdateSuccess) {
connection.rollback();
return false;
}
//成功提交
connection.commit();
return true;
} catch (Exception e) { try { //出现异常,回滚数据 connection.rollback(); } catch (SQLException throwables) { throwables.printStackTrace(); } System.err.println("出现异常"+ e.getMessage()); return false; } finally { try { //恢复自动提交 connection.setAutoCommit(true); } catch (SQLException throwables) { throwables.printStackTrace(); } //关闭链接 DbUtil.close(connection);
原文地址: https://www.cveoy.top/t/topic/ivJa 著作权归作者所有。请勿转载和采集!