JDBC值事务

事务的四大特性: 原子性, 一致性(比如说A给B转账,A转了之后B的账户增加了,两个都完成才叫一致性),隔离性(A给B转账,A给C转账,AB和AC并发是无关的),永久性(转账之后 不可能复原,就是说不做别的操作是不会还原的)

JDBC中的事务是默认开启的,所以手动的开启事务必须要先关闭默认的事务, conn.setAutoCommit(false)

建立

public String transaction(AccountInfo from, AccountInfo to, int account)
    {
        boolean res = false;
        Connection con = DBUtil.getConnection();
        try {

            con.setAutoCommit(false);//关闭默认的事务
            from.setAccount(from.getAccount() - account);
            res = update(from);
//            String str = null;
//            str.split("2");
            to.setAccount(to.getAccount() + account);
            res = update(to);
            con.commit(); //提交
            return "success";
        } catch (Exception e) {
            try {
                con.rollback();// 回滚
            } catch (SQLException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }
            return "failed";
        }

    }
时间: 2024-09-29 23:11:02

JDBC值事务的相关文章

Java中JDBC的事务问题

事务 l  事务的四大特性:ACID: l  mysql中操作事务 l  jdbc中操作事务 事务概述 为了方便演示事务,我们需要创建一个account表: CREATE TABLE account(          id INT PRIMARY KEY AUTO_INCREMENT,          NAME VARCHAR(30),          balance NUMERIC(10.2) );   INSERT INTO account(NAME,balance) VALUES('

JDBC高级-事务

(一)什么是事务 事务:是数据库的概念,逻辑上的一组操作,组成这级操作的各个单元,要么全部成功,要么全部失败. 主要是针对批量的insert.update.delete语句 (二)事务的作用 保证多条SQL的数据变更,要么全部成功,要么全部失败. 在实际业务场景里,通常会遇到一些特殊的业务:这些业务需要由多条SQL操作来一起完成.如果没有事务,那么每执行一条SQL,数据变更会立即生效:但是如果在执行过程中,某一条SQL执行失败或者出现了异常,前边的SQL变更已经生效,但是后边的SQL就不执行了,

[疯狂Java]JDBC:事务管理、中间点、批量更新

1. 数据库事务的概念: 1) 事务的目的就是为了保证数据库中数据的完整性: 2) 设想一个银行转账的过程,如果分两步,第一步是A的账户-1000,第二步是B的账户+1000,这两个动作必须是连贯的,如果中间断开(出现故障等)比如第一步执行完之后发生异常而终止了操作,那么A就白扣了1000,而B的账户也没有钱增加,这就发生了非常严重的错误: !!以上这个案例可以看出: a. 这两步必须是连贯的,一起合成的,应该作为一个整体逻辑执行单元来执行: b. 如果两步顺利执行完毕那么数据就是完整的,如果中

【JDBC】事务的使用

转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/5868750.html 关于事务的理论知识.ACID特性等等,网上太多了,在此不一一重复.本文主要着重  事务  这个工具在实际编程中是怎么实现的. 在MySQL命令行的默认设置下,事务都是自动提交的,即执行SQL语句后就会马上执行COMMIT操作,每一个SQL语句都被认为是一个完整的事务处理. 而我们想要实现事务,即:执行多句SQL语句,再最终一起提交或在出错时撤销(SQL语句要么提交,要么撤销.提交则对数

Spring总结——AOP、JDBC和事务的总结

1.上一次总结了 Spring 的核心三大组件(Core,Beans,Context),今天总结的 AOP.JDBC和事务都可以看成是核心三大组件的应用. 其中 Spring 的事务管理又以 AOP 为基础的声明式事务管理,对 JDBC 数据操作进行了补充. 2.在学习 AOP 的时候,需要搞明白的几个问题. (1)AOP 是以动态代理为基础的,所以在学习 AOP 之前,首先对动态代理有深刻的理解. (2)AOP 和切面是什么关系. (3)AOP 中概念比较多,明白每个名词的含义:切面.增强.代

JDBC: 处理事务 & 事务的隔离级别

一.数据库事务 在数据库中,所谓事务是指一组逻辑操作单元,使数据从一种状态变换到另一种状态. 为确保数据库中数据的一致性,数据的操纵应当是离散的成组的逻辑单元:当它全部完成时,数据的一致性可以保持,而当这个单元中的一部分操作失败,整个事务应全部视为错误,所有从起始点以后的操作应全部回退到开始状态. 事务的操作:先定义开始一个事务,然后对数据作修改操作,这时如果提交(COMMIT),这些修改就永久地保存下来,如果回退(ROLLBACK),数据库管理系统将放弃所作的所有修改而回到开始事务时的状态.

JDBC【事务、元数据、改造JDBC工具类】

1.事务 一个SESSION所进行的所有更新操作要么一起成功,要么一起失败 举个例子:A向B转账,转账这个流程中如果出现问题,事务可以让数据恢复成原来一样[A账户的钱没变,B账户的钱也没变]. 事例说明: /* * 我们来模拟A向B账号转账的场景 * A和B账户都有1000块,现在我让A账户向B账号转500块钱 * * */ //JDBC默认的情况下是关闭事务的,下面我们看看关闭事务去操作转账操作有什么问题 //A账户减去500块 String sql = "UPDATE a SET money

spring的使用-jdbc、事务

spring对数据库的操作:jdbcTemplate操作及事务管理 1.jdbcTemplate操作数据库: 1. 导入jar包(3个) spring-jdbc-4.2.4.RELEASE.jar spring-tx-4.2.4.RELEASE.jar 以及jdbc驱动jar包 2. 创建连接池 DriverManagerDataSource dataSource = new DriverManagerDataSource();          //为spring内置连接池 3. 设置连接池参

JDBC 控制事务(MySQL为例)

事务 一个包含多个步骤的业务操作.如果这个业务操作被事务管理,则这多个步骤要么同时成功,要么同时失败. 对事务的操作 开启事务 提交事务 回滚事务 使用Connection对象来管理事务 java.sql.Connection接口是一个数据库连接对象.它与特定数据库的连接(会话). 执行SQL语句并在连接的上下文中返回结果. 开启事务 setAutoCommit(boolean autoCommit) // 调用该方法设置参数为false,即开启事务 提交事务 commit() // 当所有sq