zoukankan      html  css  js  c++  java
  • JDBC事务(一)

    package cn.sasa.tran01;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.SQLException;
    
    public class testJDBCTran {
    
        public static void main(String[] args) {
            Connection conn = null;
            PreparedStatement pstate = null;
            PreparedStatement pstate2 = null;
            try {
                //mysql的事务默认是自动执行的
                
                //注册驱动
                Class.forName("com.mysql.jdbc.Driver");
                
                //获得连接对象
                conn = DriverManager.getConnection("jdbc:mysql://192.168.0.207:3306/mydb", "root", "Console.Write21");
                
                //设置手动执行事务
                conn.setAutoCommit(false);
                
                //获得执行对象
                String sql = "insert into account (name,money) values ('aaaaaaaaaaaaaaaaaaa',200)";
                pstate = conn.prepareStatement(sql);
                //执行
                int rs = pstate.executeUpdate();
                
                String sql2 = "insert into account (name,money) values ('bb',300)";
                pstate2 = conn.prepareStatement(sql2);
                int rs2 = pstate2.executeUpdate();
                
                if(rs>0&&rs2>0) {
                    conn.commit();//提交事务
                    System.out.println("ok");
                }else {
                    conn.rollback();//回滚事务
                    System.out.println("-1");
                }
                
            }catch(Exception e) {
                try {
                    conn.rollback();
                    System.out.println("-2");
                } catch (SQLException e1) {
                    e1.printStackTrace();
                }//回滚事务
            }finally {
                try {
                    if(pstate !=null) pstate.close();
                    if(pstate2 !=null) pstate2.close();
                    if(conn !=null) conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    
    }
  • 相关阅读:
    Android 目前最稳定和高效的UI适配方案
    很值得收藏的安卓开源控件库
    django-初始配置(纯手写)
    面向对象 继承
    wsgiref手写一个web服务端
    socket手写一个简单的web服务端
    vue指令
    vue入门
    python中and,or
    面向对象三大特性-继承
  • 原文地址:https://www.cnblogs.com/SasaL/p/10636756.html
Copyright © 2011-2022 走看看