dao层

    public Connection getConnection() throws Exception {
Class.forName(driver);
if (con == null || con.isClosed()) {
con = DriverManager.getConnection(url, username, password);
}
return con;
}
//这是一个链接数据库的方法

impl层

    public void fromToBank(String name, double money) {
try { String sql = "UPDATE bank SET money=money+? WHERE `name`=?";
Object[] params = {money, name};
int num = executeUpdate(sql, params);
if (num > 0) {
System.out.println("成功");
} else {
System.out.println("失败");
}
} catch (Exception e) {
e.printStackTrace();
}
}
//这是一个修改方法
    @Test  //事务
public void text2() throws Exception {
try {
super.con = getConnection(); //连接sql方法
con.setAutoCommit(false); //关闭自动提交事务
fromToBank("小黑", -1000);
if (true) {
throw new Exception("转账失败========");
}
fromToBank("小白", 1000);
con.commit(); //事物提交
} catch (Exception e) {
e.printStackTrace();
try {
con.rollback(); //事物回滚
} catch (SQLException e1) {
e1.printStackTrace();
} }
}

初用jdbc来运行事务的更多相关文章

  1. Java数据库连接——JDBC调用存储过程,事务管理和高级应用

    一.JDBC常用的API深入详解及存储过程的调用 相关链接:Jdbc调用存储过程 1.存储过程(Stored Procedure)的介绍 我们常用的操作数据库语言SQL语句在执行的时候需要先编译,然后 ...

  2. JAVA JDBC(存储过程和事务管理)

    1.什么是存储过程 存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程 ...

  3. 创建JDBC模板简化代码、JDBC应用的事务管理以及连接池的作用

    一.创建JDBC模板简化代码 一个简单的查询.要做这么一大堆事情,并且还要处理异常,我们不防来梳理一下: 1.获取connection  2.获取statement  3.获取resultset  4 ...

  4. JDBC&&c3p0、事务、批处理、多线程 于一体的经典秘方QueryRunner

    目录: 基础篇_功能各自回顾 JDBC基础代码回顾(使用JdbcUtils工具简化) c3p0数据库连接池的使用(使用JdbcUtils工具简化) 大数据的插入(使用c3p0+JdbcUtils工具简 ...

  5. JDBC编程之事务的使用教程

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/5868750.html  关于事务的理论知识.ACID特性等等,网上太多了,在此不一一重复.本文主要着重  事务 ...

  6. 一、DAO设计模式 二、DAO设计模式的优化 三、JDBC中的事务,连接池的使用

    一.DAO设计模式概述###<1>概念 DAO,Data Access Object ,用于访问数据库的对象. 位于业务逻辑和数据持久化层之间,实现对数据持久化层的访问![](1.png) ...

  7. 【Spring实战】—— 16 基于JDBC持久化的事务管理

    前面讲解了基于JDBC驱动的Spring的持久化管理,本篇开始则着重介绍下与事务相关的操作. 通过本文你可以了解到: 1 Spring 事务管理的机制 2 基于JDBC持久化的事务管理 Spring的 ...

  8. Java操作数据库——在JDBC里使用事务

    Java操作数据库——在JDBC里使用事务 摘要:本文主要学习了如何在JDBC里使用事务. 使用Connection的事务控制方法 当JDBC程序向数据库获得一个Connection对象时,默认情况下 ...

  9. 在Hibernate中分别使用JDBC和JTA事务的方法

    在Hibernate中使用JDBC事务 Hibernate对JDBC进行了轻量级的封装,它本身在设计时并不具备事务处理功能.Hibernate将底层的JDBCTransaction或JTATransa ...

随机推荐

  1. oracle如何调试存储过程

    oracle如果存储过程比较复杂,我们要定位到错误就比较困难,那么可以存储过程的调试功能 先按简单的存储过程做个例子,就是上次做的存储过程(proc_test) 1.先在数据库的procedures文 ...

  2. python---文字云

    本文介绍的是数据可视化中的一种常见方式:文字云. 用Python构建文字云主要分为两步: 1)构建文字云 from wordcloud import WordCloud wc = WordCloud( ...

  3. 我的第一个Angular2应用

    1需要具备的基本前端基础:HTML.CSS.JavaScript.为了实现对项目包的管理,推荐使用npm NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题:官网先下 ...

  4. C#中自定义高精度Timer定时器的实例教程

    Timer 用于以用户定义的事件间隔触发事件.Windows 计时器是为单线程环境设计的,其中,UI 线程用于执行处理.它要求用户代码有一个可用的 UI 消息泵,而且总是在同一个线程中操作,或者将调用 ...

  5. Triangle Count

    Given an array of integers, how many three numbers can be found in the array, so that we can build a ...

  6. 远程连接SqlServer 数据库时提示 "在与SQL Server 建立连接时出现与网络相关的或特定实例的错误" 解决方法

    前言 由于在之前的职业生涯中, 无论是数据库还是开发环境, 都是前人弄好的,自己只管使用就好啦.并不知安装过程中会出现各种各样的错.最近接触服务器之后,开发环境以及配置各方面都是从头到脚开始安装到配置 ...

  7. ESP32搭建3.ubuntu14.04下搭建esp32开发环境 (10-5)

    硬件为乐鑫出品的ESP32一款集成了wifi和蓝牙的集成模块. 1.首先ctrl+alt+t打开终端,sudo -s选择用root权限登陆 . 2. 输入指令:sudo apt-get install ...

  8. Python之file方法

        def fileno(self): #  文件描述符               def flush(self): #  刷新文件内部缓冲区             def isatty(se ...

  9. Python之字典方法

    def clear(self): # 清除所有内容 """ D.clear() -> None. Remove all items from D. "&q ...

  10. Callable抛出异常与future.get

    public class ThreadPoolTest { @Test public void testException(){ try{ testExecutorServiceException() ...