zoukankan      html  css  js  c++  java
  • 事务处理

    mysql中的事务处理:用dos窗口操作(注意engine myisam 不会使用事务)
    事务就是一系列操所数据库中的语句,要么全部成功,要么全部失败
    事务的特性:原子性,一致性,隔离型,持久性
    start transaction; #开启事务
    rollback;#回滚事务,如果在一系列操作中间出现异常,可以使用,返回到开启事务之前的状态
    commit;#提交事务,当一系列操作全部成功,就要提交,就会永久保存
    
    JDBC中控制事务
    Connection conn;//表示连接对象
    conn.setAutoCommit(false);//开启事务
    conn.rollback();//回滚事务
    conn.commit();//提交事务
    
    还可以设置回滚点,回滚到回滚点
    Savepoint sp=conn.setSavepoint();
    conn.rollback(sp);
    conn.commit();
    

    建表语句:

    create table account(
    id int not null primary key,
    name varchar(30) not null,
    accNum varchar(40) not null unique,
    money decimal(10,2) not null default 0.00
    );
    insert into account values (1,'zhangsan','123',100000);
    insert into account values (2,'lisi','124',1000000);
    

    具体实现代码:JdbcUtil.getConnection();获取连接对象

    package com.itheima.test;
    
    import java.sql.Connection;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    import com.ithiema.util.JdbcUtil;
    
    public class Demo1 {
    	public static void main(String[] args) {
    		Connection conn=JdbcUtil.getConnection();
    		String sql1="update account set money=money-10000 where accNum='124'";
    		String sql2="update account set money=money+10000 where accNum='123'";
    		Statement stmt=null;
    		try {
    			conn.setAutoCommit(false);
    			stmt=conn.createStatement();
    			stmt.executeUpdate(sql1);
    			int i=1/0;
    			stmt.executeUpdate(sql2);
    			conn.commit();
    		} catch (SQLException e) {
    			try {
    				conn.rollback();
    				conn.commit();
    			} catch (SQLException e1) {
    				// TODO Auto-generated catch block
    				e1.printStackTrace();
    			}
    			e.printStackTrace();
    		}
    		
    	}
    }
    
  • 相关阅读:
    Ubuntu下errno值
    Git 经常使用命令总结
    【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记38 Unwind Segue反向过渡
    高斯噪声
    小记5.8面试
    基数排序之多keyword排序运用队列
    广告贴
    输入字符串反序输出
    Codeforces Round #313 A. Currency System in Geraldion
    matlab中怎样加入凝视
  • 原文地址:https://www.cnblogs.com/lzzhuany/p/4964168.html
Copyright © 2011-2022 走看看