验证JDBC事务自动提交

package com.bjpowernode.jdbc;

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

/**
 * @Author:杨青
 * @Time:2021/10/26 18:59
 * @Description:
 *      JDBC事务机制:
 *          1.jdbc中的事务是自动提交的:只要执行一条DML语句,则自动提交一次,这是jdbc默认的事务行为
 *            但是在实际业务中,通常都是N条DML语句共同联合才能完成的,必须保证这些DML语句在同一事务中同时成功或同时失败
 *          2.以下程序先验证一下JDBC的事务是否是自动提交机制
 *              测试结果:
 *                  JDBC中只要执行任意一条DML语句,就提交一次
 *
 */
public class JDBCTest10 {
    public static void main(String[] args) {
        Connection conn=null;
        PreparedStatement ps=null;
        try {
            //1.类加载完成注册驱动
            Class.forName("com.mysql.jdbc.Driver");
            //2.获取连接
            conn= DriverManager.getConnection("jdbc:mysql://localhost:3306/bjpowernode","root","123456");
            //3.获取预编译数据库操作对象
            String sql="update t_user set loginName=?,realName=? where id=?";
            ps=conn.prepareStatement(sql);
            ps.setString(1,"java");
            ps.setString(2,"Java");
            ps.setInt(3,3);
            //4.执行sql语句
            int count=ps.executeUpdate();   //执行第一条update语句
            System.out.println("count:"+count);
            //重新赋值
            ps.setString(1,"python");
            ps.setString(2,"Python");
            ps.setInt(3,3);
            count=ps.executeUpdate();   //执行第二条update语句
            System.out.println("count:"+count);
        } catch (Exception e) {
            e.printStackTrace();
        }  finally {
            //6.释放资源
            if(ps!=null){
                try {
                    ps.close();
                } catch (SQLException throwables) {
                    throwables.printStackTrace();
                }
            }
            if(conn!=null){
                try {
                    conn.close();
                } catch (SQLException throwables) {
                    throwables.printStackTrace();
                }
            }
        }
    }
}

  

posted @ 2021-10-26 20:11  石乐智先生  阅读(102)  评论(0编辑  收藏  举报