Oracle在Java中事物管理

对于 对数据库中的数据做dml操作时,能够回滚,这一事物是很重要的

下面例子是对数据库中数据进行修改

package com.demo.oracle;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

/**
 * 在Java中使用Oracle事物、
 * 转账:一个账户减少十块钱,另一个账户上增加十块钱
 * @author Administrator
 *
 */
public class ConnectionSQl
{

    public static void main(String[] args)
    {
        Connection ct = null;
        try
        {
            //加载驱动
            Class.forName("Oracle.jdbc.driver.OracleDriver");

            //创建连接
            ct = DriverManager.getConnection(
                    "jdbc:oracle:thin:@127.0.0.1:1521:myoral","scott","m12"
                    );

            //加入事务处理
            ct.setAutoCommit(false);

            Statement st = ct.createStatement();

            //从scott中减少100
            st.executeUpdate("update emp set sal = sal - 100 where ename = ‘SCOTT‘");

            //给smith加上100
            st.executeUpdate("update emp set sal = sal + 100 where ename = ‘SMITH‘");

            //提交事物
            ct.commit();
            st.close();
            ct.close();

        }

        catch(Exception e)
        {
            //抛出异常,就回滚
            try
            {
                ct.rollback();
            }
            catch (SQLException e1)
            {
                // TODO 自动生成的 catch 块
                e1.printStackTrace();
            }

            e.printStackTrace();
        }
    }
}

时间: 2024-10-12 19:10:46

Oracle在Java中事物管理的相关文章

[原创]java WEB学习笔记109:Spring学习---spring中事物管理

博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 ------------------------------------------------------------------------------------------------------------------

转:Spring中事物管理

1.什么是事务? 事务是逻辑上的一组操作,这组操作要么全部成功,要么全部失败 2.事物具有四大特性ACID 说到事务,就不得不说其4大特性,主要如下 原子性:(atomicity) 原子性指的是事务是一个不可分割的工作单位,事务中的操作要么全部发生,要么都不发生 (就像物理中,原子是最小不可分割的单位) 一致性:(consistency) 一致性指的是事务前后数据的完整性必须保持一致(比如说,转账:张三账户有2000元,李四账户有2000元,一共4000元 张三项李四转账2000元后,一共还是4

oracle和java中的sql语句

在调试代码的时候遇到这样一个问题,程序运行到sql语句就抛invalid character异常,那我只好把sql语句拷出来,在oracle中执行一下,然而并没有什么错,这可难坏我了,这样都找不到错误,这到底是啥问题,摸不着头脑,一个老程序员提醒了我,在java中,sql语句的最后不能加分号,去掉之后可以正常执行了.虽然这是一个小问题,但我从来没注意过,以后就不会犯这低级错误了,哈哈.

oracle 和java 中求交集的方法

<if test="null != protocolEndTime and '' != protocolEndTime"> <![CDATA[ and( (#{protocolStartTime} >= t.protocol_start_time AND #{protocolStartTime} <= t.protocol_end_time) OR (#{protocolStartTime} <= t.protocol_start_time AND

JAVA中事物以及连接池

一.事物 什么是事物? 事务,一般是指要做的或所做的事情.在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元.这些单元要么全都成功,要么全都不成功. 做一件事情,这个一件事情中有多个组成单元,这个多个组成单元要不同时成功,要不同时失败.A账户转给B账户钱,将A账户转出钱的操作与B账户转入钱的操作绑定到一个事务中,要不这两个动作同时成功,代表这次转账成功,要不就两个动作同时失败,代表这次转账失败. 事务在开发中的作用 下面来举例说明什么是事务,如下所示: 现实生活中的银行转账业务

java程序日志管理

初入软件开发这一行的人,可能对日志管理的概念并不是很明确,大概是由于经验所限,以至于根本还考虑不到这个问题. 而从某种意义上来说,日志管理实际上也不需要初入这一行的人来管,他们只需要负责实现自己的主要业务逻辑和功能就好了. 我当初刚入行的时候就有很长一段时间完全不用去关心日志,到后来偶尔涉及到的时候,也都是从其他地方采用cv大法直接搬用. 不过,随着工作时间的变化,随着手头上任务重要程度的变化,也随着接触到的项目数量的变化,让我越来越意识到日志的重要性,它在整个系统中发挥着至关重要的作用! 尤其

Java中的深克隆和浅克隆——Cloneable接口

一.没有使用克隆带来的问题 public class CloneTest { static Student s = new Student("aaa", 20); // 直接赋值带来的问题 public static void noclone() { // 传的是引用的副本,改变了noCloneStudent也改变了s Student noCloneStudent = new Student(); noCloneStudent = s; noCloneStudent.setName(&

Spring中的事物管理,用 @Transactional 注解声明式地管理事务

事物: 事务管理是企业级应用程序开发中必不可少的技术,  用来确保数据的 完整性和 一致性. 事务就是一系列的动作, 它们被当做一个单独的工作单元. 这些动作要么全部完成, 要么全部不起作用 事务的四个关键属性: 原子性:事务是一个原子操作, 由一系列动作组成. 事务的原子性确保动作要么全部完成要么完全不起作用. 一致性:一旦所有事务动作完成, 事务就被提交. 数据和资源就处于一种满足业务规则的一致性状态中. 隔离性:可能有许多事务会同时处理相同的数据, 因此每个事物都应该与其他事务隔离开来,

spring MVC 管理HttpClient---实现在java中直接向Controller发送请求

在spring MVC中,大多数时候是由客户端的页面通过ajax等方式向controller发送请求,但有时候需要在java代码中直接向controller发送请求,这时可以使用HttpCilent实现. 首先用到的包是httpclient-4.3.5.jar和httpcore-4.3.2.jar 先看下面代码: package module.system.common; import java.io.IOException; import java.util.ArrayList; import