zoukankan      html  css  js  c++  java
  • Web19_事务

    MySQL的事务控制:

    开启事务:start transaction;

    提交:commit();

    回滚:rollback();

    JDBC事务控制:

    开启事务:setAutoCommit(false);

    提交:commit();

    回滚:rollback();

    DBUtils的事务控制也是通过JDBC

    ThreadLocal:实现的是通过线程绑定的方式传递参数

    注意:控制事务的Connection必须是同一个

    执行SQL的Connection与开启事务的Connection必须是同一个才能对事务进行控制

    JDBC的事务控制

    package com.itheima.jdbc;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    public class JDBCDemo {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    
    		// 通过jdbc去控制事务
    
    		Connection conn = null;
    
    		// 1.注册驱动
    		try {
    			Class.forName("com.mysql.jdbc.Driver");
    
    			// 2.获得connection
    			conn = DriverManager.getConnection("jdbc:mysql:///web19", "root", "root");
    
    			// 手动开启事务
    			conn.setAutoCommit(false);
    
    			// 3.获得执行平台
    			Statement stmt = conn.createStatement();
    
    			// 4.操作sql
    			int executeUpdate = stmt.executeUpdate("update account set money=5000 where name='tomm'");
    
    			conn.commit();
    
    			stmt.close();
    			conn.close();
    		} catch (Exception e) {
    			// TODO Auto-generated catch block
    			try {
    				conn.rollback();
    			} catch (SQLException e1) {
    				// TODO Auto-generated catch block
    				e1.printStackTrace();
    			}
    			e.printStackTrace();
    		}
    	}
    }
    
  • 相关阅读:
    imagemagick-图片
    selenium-嘿
    centos命令行连接无线网络
    centos7安装桌面合盖不休眠
    mysql执行命令:ERROR 1820 (HY000): You must reset your password
    编码规范 C++
    Docker使用总结
    JAVA使用总结
    VS IDE 相关
    编程网站总结
  • 原文地址:https://www.cnblogs.com/denggelin/p/7252453.html
Copyright © 2011-2022 走看看