• 验证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();
                    }
                }
            }
        }
    }
    

      

  • 相关阅读:
    Servle生命周期
    Nginx反向代理
    redis
    java二分查找
    Redis集群的数据一致性
    springmvc中controller不要定义全局变量
    elasticsearch-6.7.1和kibana-oss-6.7.1的Linux安装
    centos7.0查看IP,Linux基本命令
    高并发ConcurrentHashMap 1.8的原理
    JS 循环 while for do while
  • 原文地址:https://www.cnblogs.com/-slz-2/p/15467658.html
Copyright © 2020-2023  润新知