• 事务处理


    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();
    		}
    		
    	}
    }
    
  • 相关阅读:
    自定义maven插件
    vim编辑器的基本用法
    sql查询两条记录的时间差
    spring boot继承web和mybatis时,调用接口删除记录出现的空指针以及解决办法
    Thymeleaf模板引擎的初步使用
    Spring Boot中的AutoConfiguation核心注解
    Spring Boot中的自定义start pom
    Spring中,使用Java配置的方式进行依赖注入
    设计模式之——flyweight模式
    ConfuserEx .net dll加壳失败原因
  • 原文地址:https://www.cnblogs.com/lzzhuany/p/4964168.html
Copyright © 2020-2023  润新知