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();
}
}
} }
JDBC事务(一)的更多相关文章
- JTA和JDBC事务
一般情况下,J2EE应用服务器支持JDBC事务.JTA事务.容器管理事务.这里讨论JTA和JDBC事务的区别.这2个是常用的DAO模式事务界定方式.JDBC 事务 JDBC 事务是用 Connecti ...
- JDBC 事务控制
一.简介: 前面一遍提到了jdbc事务相关的概念.从中了解到事务应具有ACID特性.所以对于javaweb开发来说,某一个service层的方法,应该是一个事务,应该是具有原子性的.特别是当一个ser ...
- Java的JDBC事务详解(转)
事务的特性: 1) 原子性(atomicity):事务是数据库的逻辑工作单位,而且是必须是原子工作单位,对于其数据修改,要么全部执行,要么全部不执行. 2) 一致性(consistency):事务在完 ...
- Java中的事务——JDBC事务和JTA事务
Java中的事务——JDBC事务和JTA事务 转载:http://www.hollischuang.com/archives/1658 之前的事务介绍基本都是数据库层面的事务,本文来介绍一下J2EE中 ...
- CSDN上看到的一篇有关Spring JDBC事务管理的文章(内容比较全) (转)
JDBC事务管理 Spring提供编程式的事务管理(Programmatic transaction manage- ment)与声明式的事务管理(Declarative transaction ma ...
- JDBC事务和JTA事务的区别
转自:JDBC和JTA事务的区别 一.事务概述事务表示一个由一系列的数据库操作组成的不可分割的逻辑单位,其中的操作要么全做要么全都不做.与事务相关的操作主要有:BEGIN TRANSACTION: 开 ...
- JDBC 事务隔离级别
JDBC 事务隔离级别 先解释一下:a:脏读取:一个事务读取了另外一个并行事务未提交的数据b:不可重复读取:一个事务再次读取之前的数据时得到的数据不一致,被另外一个事务修改c:虚读:一个事务重 ...
- Java的JDBC事务详解
Java的JDBC事务详解 分类: Hibernate 2010-06-02 10:04 12298人阅读 评论(9) ...
- 网络协议 finally{ return问题 注入问题 jdbc注册驱动问题 PreparedStatement 连接池目的 1.2.1DBCP连接池 C3P0连接池 MYSQL两种方式进行实物管理 JDBC事务 DBUtils事务 ThreadLocal 事务特性 并发访问 隔离级别
1.1.1 API详解:注册驱动 DriverManager.registerDriver(new com.mysql.jdbc.Driver());不建议使用 原因有2个: >导致驱动被注册2 ...
- 春天JDBC事务管理
JDBC事务管理 春天提供编程式的事务管理(编程式事务管理)与声明式的事务管理(声明式事务management),为不同的事务实现提供了一致的编程模型,这节以JDBC事务为例,介绍Spring的事务管 ...
随机推荐
- 【Vegas原创】Excel中,日期和时间用&连接后格式不正确的解决方法
=TEXT(B2+C2,"yyyy-mm-dd hh:mm:ss")
- mac 上安装 openJDK11
紧接上篇,mac现在基本上作为开发者的主力机,当然也要安装jdk的 首先需要卸载原来的jdk8,如下: ls /Library/Java/JavaVirtualMachines/ sudo rm -r ...
- Mac 开发必备 利器 iterm2 oh-my-zsh
推荐终端神器 iterm2 以及 oh-my-zsh,可以研究一下怎么用,好的开发环境是可以提高效率的,以及alias 的使用. https://www.zhihu.com/question/2744 ...
- [Java并发编程(一)] 线程池 FixedThreadPool vs CachedThreadPool ...
[Java并发编程(一)] 线程池 FixedThreadPool vs CachedThreadPool ... 摘要 介绍 Java 并发包里的几个主要 ExecutorService . 正文 ...
- SQLSERVER性能调优小技巧
平时做个记录,在工作过程中针对大数据查询的一些小技巧 -----------SELECT------------- 1.必要的冗余字段,减少关联查询 2.关键查询字段必须加索引 否则百万级以上你就别想 ...
- 每天学点Linux-切割命令split
一种常见的需求是,有一个比较大的文件,需要把它切割成比较小的几个文件,在Linux系统中你就可以使用Split命令了.Split命令可以将一个大的文件按照文件大小或者行数切割成小文件.Split命令的 ...
- 【转】WPF Template模版之DataTemplate与ControlTemplate(一)
WPF系统不但支持传统的Winfrom编程的用户界面和用户体验设计,更支持使用专门的设计工具Blend进行专业设计,同时还推出了以模板为核心的新一代设计理念. 1. 模板的内涵 作为表现形式,每个控件 ...
- JavaScript异步并发请求问题
JavaScript异步并发请求问题 JS中如何处理多个ajax并发请求? jQuery的deferred对象详解 面试遇到的ajax请求串行和并行问题
- 深度讲解 .net session 过期机制
[参考]net session过期 原理及解决办法 [参考]深入理解session过期机制
- Python sqlite3操作笔记
创建数据库 def create_tables(dbname): conn = sqlite3.connect(dbname) print "Opened database successf ...