Java数据库——事务处理


在数据库中执行5条SQL语句,这些SQL语句本身需要保持一致,即要么同时成功,要么同时失败
事务基本操作
//=================================================
// File Name : JDBC20_demo
//------------------------------------------------------------------------------
// Author : Common import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.sql.*;
import java.text.SimpleDateFormat;
import java.util.Scanner; //主类
//Function : JDBC20_demo
public class JDBC20_demo { //定义MySQL的数据库驱动程序
public static final String DBDRIVER = "org.gjt.mm.mysql.Driver";
//定义MySQL数据库的连接地址
public static final String DBURL = "jdbc:mysql://localhost:3306/mysql_demo";
//MySQL数据库的连接用户名
public static final String DBUSER = "root";
//MySQL数据库的连接密码
public static final String DBPASS = "123456"; public static void main(String[] args) throws Exception{
// TODO 自动生成的方法存根 Connection conn = null; //数据库连接
Statement stmt = null; //数据库操作 Class.forName(DBDRIVER); //加载驱动程序
//连接MySQL数据库时,要写上连接的用户名和密码
conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS);
conn.setAutoCommit(false); //取消自动提交
//实例化PreparedStatement
stmt = conn.createStatement(); //实例化对象
//加入5条SQL语句
stmt.addBatch("INSERT INTO user(name,password,age,sex,birthday)"+"VALUES('lisi','lisimima',14,'男','1987-09-23')");
stmt.addBatch("INSERT INTO user(name,password,age,sex,birthday)"+"VALUES('lisi','lisimima',14,'男','1987-09-23')");
stmt.addBatch("INSERT INTO user(name1,password,age,sex,birthday)"+"VALUES('lisi','lisimima',14,'男','1987-09-23')");
stmt.addBatch("INSERT INTO user(name,password,age,sex,birthday)"+"VALUES('lisi','lisimima',14,'男','1987-09-23')");
stmt.addBatch("INSERT INTO user(name,password,age,sex,birthday)"+"VALUES('lisi','lisimima',14,'男','1987-09-23')");
try{
int temp[] = stmt.executeBatch(); //批量执行
System.out.println("更新了"+temp.length+"条数据。");
conn.commit(); //提交事务
}catch(Exception e){
try{
conn.rollback();
}catch(Exception ex){
ex.printStackTrace();
}
}
stmt.close();
conn.close();
} public static void print(ResultSet rs,int re) throws Exception{
if(re>0){
rs.next(); //由前向后输出
}else{
rs.previous(); //有后向前输出
}
int id = rs.getInt(1);
String name = rs.getString(2);
String pass = rs.getString(3);
int age = rs.getInt(4);
String sex = rs.getString(5);
java.util.Date d = rs.getDate(6);
System.out.println("编号:"+ id);
System.out.println("姓名:"+name);
System.out.println("密码:"+pass);
System.out.println("年龄:"+age);
System.out.println("性别:"+sex);
System.out.println("生日:"+d);
} }
Java数据库——事务处理的更多相关文章
- java中的数据库事务处理
/*java使用事务处理,首先要求数据库支持事务,如使用MYSQL的事务功能,就要求mysql的表类型为Innodb,*/ /*InnoDB,是MySQL的数据库引擎之一 与传统的ISAM与MyISA ...
- JDBC与JAVA数据库编程
一.JDBC的概念 1. JDBC (Java DataBase Connectivity) Java数据库连接 a) 主要提供java数据库应用程序的API支持 2. JDBC的主要功能 a) 创建 ...
- java的事务处理
本文转自http://zhenchengchagangzi.iteye.com/blog/1159493 java的事务处理,如果对数据库进行多次操作,每一次的执行或步骤都是一个事务.如果数据库操作在 ...
- Java 数据库操作
目录 Java数据库组织架构 下载驱动包 连接数据库 连接数据库的三个步骤 连接数据库的高开销 Statement接口介绍 PreparedStatement类 使用PreparedStatement ...
- java 之DelayQueue,TaskDelayed,handlerFactory,dataChange消息配置.收发等.java spring事务处理TransactionTemplate
java 之DelayQueue,TaskDelayed,handlerFactory,dataChange消息配置.收发等.java spring事务处理TransactionTemplate等. ...
- Atitti 数据库事务处理 attilax总结
Atitti 数据库事务处理 attilax总结 1.1. 为什么要传递Connection?1 1.2. 两种事务处理方式,一种是编程式事务处理;一种是声明...2 1.3. 事务隔离级别 2 1. ...
- JAVA数据库基本操作 (转)
JAVA数据库基本操作指南 Java数据库操作基本流程:取得数据库连接 - 执行sql语句 - 处理执行结果 - 释放数据库连接. 一.取得数据库连接 1.用DriverManager取数据库连接 ...
- 十三、EnterpriseFrameWork框架核心类库之数据库操作(多数据库事务处理)
本章介绍框架中封装的数据库操作的一些功能,在实现的过程中费了不少心思,针对不同数据库的操作(SQLServer.Oracle.DB2)这方面还是比较简单的,用工厂模式就能很好解决,反而是在多数据库同时 ...
- java面向对象下:Java数据库编程
19.Java数据库编程: JDBC概述: JDBC(Java Database Connection)是java中提供的一套数据库编程API,它定义了一套用来访问数据库的标准Java类 ...
随机推荐
- pdo简单操作
PDO(PHP Data Object) 是PHP 5新出来的东西,在PHP 6都要出来的时候,PHP 6只默认使用PDO来处理数据库,将把所有的数据库扩展移到了PECL,那么默认就是没有了我们喜爱的 ...
- div两栏等高布局
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- 开发错误12:gradle编译错误:Conflict with dependency com.android.support:support-annotations
在build.gradle中的configurations.all {}下添加:resolutionStrategy.force 'com.android.support:support-annota ...
- 关于ExtJS、JQuery UI和easy UI的选择问题
转自百度知道. 问:做企业级应用,比如***管理系统,不需要华丽的特效,只希望简单,风格统一.能用到的只有messagebox.tree.grid大概这几个,其他特效不要,忘大神根据自己的见解以及我这 ...
- iOS开发中的错误整理,AFN框架和MJRefresh框架搭配应该注意的问题
注意问题一:每次请求之前先将之前的请求取消 注意问题二:请求成功之后要判断footer或者header的显示状态 首次下拉刷新,要判断是否已经全部 ...
- iOS不得姐项目--图片帖子模块,大图默认显示最顶部分的处理
一.刚开始的处理,设置Mode属性(self.pictureImageView.contentMode = UIViewContentModeScaleAspectFill;) 和 Clip Subv ...
- 【BZOJ 2154】Crash的数字表格
制杖了,,,求前缀和的时候$i×i$是int,然后当$i=10^7$时就喜闻乐见地爆int了,,,对拍之后查了一个下午的错才发现这个问题,,,最后枚举用的变量全都强行加上long long才A掉 #i ...
- javascript 红宝书笔记之数据类型
typeof 检测给定变量的数据类型,通过typeof来区分函数和其它对象 var message = 'some string'; console.log(typeof(message) ...
- CDN 备胎技巧
如果你使用 CDN 服务,建议准备一个备胎,万一 CDN 服务挂了,可以从自己的服务器上读取: <script src="http://cdn.staticfile.org/jquer ...
- 数据库开发基础-SQl Server 控制数据库的服务+数据库的创建与管理(增删改查)
控制数据库的服务: 方法一: 1.Windows+R 打开运行 打开cmd 2.输入net start MSSQLserver 启动数据库服务 输入net stop MSSQLserver 关闭数据 ...