美文网首页
JDBC之事务操作

JDBC之事务操作

作者: 伍陆柒_ | 来源:发表于2019-03-29 16:54 被阅读0次

Demo1:

/**
 * 向emp表中插入一条记录
 * empno    ename   deptno
 * 9527     华安      20
 * @author Administrator
 */
public class JDBCDemo1 {
    public static void main(String[] args) {
        Connection conn = null;
        PreparedStatement ps = null;
        try {
            conn = DBUtils.getInstance().getConnection();
            // 1.控制事务 -- 取消自动提交
            conn.setAutoCommit(false);
            ps = conn.prepareStatement("insert into emp(empno,ename,deptno) \r\n" + 
                    "values (?,?,?)");
            // 占位符赋值
            ps.setInt(1, 9529);
            ps.setString(2, "华安1111");
            ps.setInt(3, 60);
            // 2.增删改调用executeUpdate(),返回一个整数,代表影响的记录个数
            int count = ps.executeUpdate();
            // 3.手动提交commit()
            conn.commit();
            System.out.println("插入了"+count+"条记录");
        } catch (Exception e) {
            try {
                conn.rollback();
            } catch (SQLException e1) {
                e1.printStackTrace();
            }
            e.printStackTrace();
        }  finally {
            if(conn != null) {
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if(ps != null) {
                try {
                    ps.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

Demo2:

/**
 * 将emp表20部门的员工,工资涨200
 * @author Administrator
 *
 */
public class JDBCDemo2 {

    public static void main(String[] args) {
        Connection conn = null;
        PreparedStatement ps = null;
        try {
            conn = DBUtils.getInstance().getConnection();
            // 1.控制事务 -- 取消自动提交
            conn.setAutoCommit(false);
            ps = conn.prepareStatement("update emp set sal = sal + ? where deptno = ?");
            // 占位符赋值
            ps.setDouble(1, 200);
            ps.setInt(2, 20);
            // 2.增删改调用executeUpdate(),返回一个整数,代表影响的记录个数
            int count = ps.executeUpdate();
            // 3.手动提交commit()
            conn.commit();
            System.out.println("修改了"+count+"条记录");
        } catch (Exception e) {
            try {
                conn.rollback();
            } catch (SQLException e1) {
                e1.printStackTrace();
            }
            e.printStackTrace();
        }  finally {
            if(conn != null) {
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if(ps != null) {
                try {
                    ps.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }

}

相关文章

  • JDBC 事务操作

    数据库事务 一组逻辑操作单元,使数据从一种状态变换到另一种状态 事务的操作:先定义开始一个事务,然后对数据作修改操...

  • Spring 事务原理

    事务的基本原理 Spring 事务 本质上是对JDBC事务的封装。对于纯JDBC操作数据库,想要用到事务,可以按照...

  • JTA事务

    JDBC和JTA事务区别简单的说 jta是多库的事务 jdbc是单库的事务。 jdbc事务JDBC事务由Connn...

  • JDBC之事务操作

    Demo1: Demo2:

  • JDBC操作事务

    原文链接http://zhhll.icu/2020/java%E5%9F%BA%E7%A1%80/JDBC/JDB...

  • 数据库(四)2018-08-27

    1. JDBC操作事务 2. JDBC进行批处理 3. DBCP的简介: 概述: DataBase Connect...

  • Java事务详解(1)

    基本概念 事务指逻辑上的一组操作,组成这组操作的各个单元,要么全部成功,要么全部不成功。 事务类型 JDBC事务 ...

  • java事务

    1、java事务介绍 2、JDBC事务 3、JTA事务 1、java事务介绍 java事务分类:JDBC事务、...

  • JDBC

    JDBC JDBC控制事务:

  • java(事务)

    概念 事务指逻辑上的一组操作,组成这组操作的各个单元,要不全部成功,要不全部不成功。 数据库事务和JDBC事务 数...

网友评论

      本文标题:JDBC之事务操作

      本文链接:https://www.haomeiwen.com/subject/rmcrbqtx.html