对于事务的理解

一:事务的四大特性:
1:原子性(最小的操作单位,不可以在分割的)
2:一致性(事务的结果是保留不变的)
3:隔离性(中间状态对其它事务是不可见的,事务之间是相互独立的)
4:持久性 (已完成的事务结果上持久的)
二:事务的三种基本操作
1:connection.setAutoCommit(false);取消事务的自动提交
2:connection.commit() :事物的提交
3:connection.rollback() 事务的回滚
三:事务在程序中的常见使用:
在一个方法中,同时对于多个表进行增,删,改的操作,需要利用到事务。1:首先在执行sql操作之前,conn.setAutoCommit(false);//不允许自动提交(因为它默认是自动提交的);2在执行sql的时候遇到操作失败conn.rollback();//设置回滚 ;3在执行完所有的sql操作后,connection.commit() //事务提交
实例:
重点内容
public void deleteOrder(){
User user = getUserBySession();
user.setMsg(“”);
//数据库链接
Connection conn = null;
try {
//获取数据库对象
conn = DBTools.getConnection();
//不允许自动提交重点内容
conn.setAutoCommit(false);
//获取采购单sql操作对象
operationInfo.createObj(“DCMS_orders”, “select”);
//获取采购单
String trueOrderId = Global.DES_PLUS.decrypt(orderId);
Order order = orderDAO.getOrder(conn, trueOrderId, operationInfo);
if(order == null){
conn.rollback();重点内容
outJson(“{\”result\”:\”fail\”,\”msg\”:\”需删除的采购单申请不存在!\”}”);
return;
}
if(order.getStatus() != 1){
conn.rollback();
outJson(“{\”result\”:\”fail\”,\”msg\”:\”该状态申请不得删除!\”}”);
return;
}
if(!order.getApplyNo().equals(user.getUserId())){
conn.rollback();
outJson(“{\”result\”:\”fail\”,\”msg\”:\”没有权限删除该采购申请!\”}”);
return;
}
//进行删除
order.setOrderId(trueOrderId);
operationInfo.createObj(“DCMS_orders”, “delete”);
int num = orderDAO.operationOrder(conn, order, operationInfo);
if(num == 1){
log(conn, “进行删除”, order);
conn.commit();重点内容
outJson(“{\”result\”:\”success\”,\”msg\”:\”删除采购申请成功\”}”);
return;
}else{
conn.rollback();
outJson(“{\”result\”:\”success\”,\”msg\”:\”删除采购申请信息失败!\”}”);
return;
}
} catch (Exception e) {
// TODO Auto-generated catch block
try {
conn.rollback();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
e.printStackTrace();
outJson(“{\”result\”:\”success\”,\”msg\”:\”系统正忙,请稍后再试(deleteOrder)\”}”);
return;
} finally{
if(conn != null){
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值