jdbc设置mysql事务类型_jdbc mysql 事务的设置

import java.sql.Connection ;

import java.sql.DriverManager ;

import java.sql.SQLException ;

import java.sql.Statement ;

public class TranDemo02{

// 定义MySQL的数据库驱动程序

public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;

// 定义MySQL数据库的连接地址

public static final String DBURL = "jdbc:mysql://localhost:3306/mldn" ;

// MySQL数据库的连接用户名

public static final String DBUSER = "root" ;

// MySQL数据库的连接密码

public static final String DBPASS = "mysqladmin" ;

public static void main(String args[]) throws Exception{// 所有异常抛出

Connection conn = null ;// 数据库连接

Statement stmt = null ;// 定义数据库操作

Class.forName(DBDRIVER) ;// 加载驱动程序

conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;

conn.setAutoCommit(false) ;// 取消掉自动提交

stmt = conn.createStatement() ;

stmt.addBatch("INSERT INTO user(name,password,age,sex,birthday)" +

" VALUES ('LXH-1','hello-1',11,'男','1975-03-05') ") ;

stmt.addBatch("INSERT INTO user(name,password,age,sex,birthday)" +

" VALUES ('LXH-2','hello-2',12,'女','1976-03-05') ") ;

// 加入“'”之后,此SQL语法就出现了错误,所以,肯定执行到此语句的时候出现代码错误

stmt.addBatch("INSERT INTO user(name,password,age,sex,birthday)" +

" VALUES ('LXH-'3','hello-3',13,'男','1977-06-01') ") ;

stmt.addBatch("INSERT INTO user(name,password,age,sex,birthday)" +

" VALUES ('LXH-4','hello-4',14,'女','1965-03-05') ") ;

stmt.addBatch("INSERT INTO user(name,password,age,sex,birthday)" +

" VALUES ('LXH-5','hello-5',15,'女','1965-08-05') ") ;

try{

int temp[] = stmt.executeBatch() ;

System.out.println("更新了:" + temp.length+ "条数据。") ;

conn.commit() ;// 所有的操作成功了

}catch(Exception e){

try{

conn.rollback() ;

}catch(Exception e1){

}

}

stmt.close() ;

conn.close() ;// 数据库关闭

}

};

import java.sql.Connection ;

import java.sql.DriverManager ;

import java.sql.SQLException ;

import java.sql.Statement ;

import java.sql.Savepoint ;

public class TranDemo03{

// 定义MySQL的数据库驱动程序

public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;

// 定义MySQL数据库的连接地址

public static final String DBURL = "jdbc:mysql://localhost:3306/mldn" ;

// MySQL数据库的连接用户名

public static final String DBUSER = "root" ;

// MySQL数据库的连接密码

public static final String DBPASS = "mysqladmin" ;

public static void main(String args[]) throws Exception{// 所有异常抛出

Connection conn = null ;// 数据库连接

Statement stmt = null ;// 定义数据库操作

Class.forName(DBDRIVER) ;// 加载驱动程序

conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;

conn.setAutoCommit(false) ;// 取消掉自动提交

stmt = conn.createStatement() ;

stmt.executeUpdate("INSERT INTO user(name,password,age,sex,birthday)" +

" VALUES ('LXH-1','hello-1',11,'男','1975-03-05') ") ;

stmt.executeUpdate("INSERT INTO user(name,password,age,sex,birthday)" +

" VALUES ('LXH-2','hello-2',12,'女','1976-03-05') ") ;

Savepoint sp = conn.setSavepoint() ;// 设置保存点

stmt.executeUpdate("INSERT INTO user(name,password,age,sex,birthday)" +

" VALUES ('LXH-4','hello-4',14,'女','1965-03-05') ") ;

stmt.executeUpdate("INSERT INTO user(name,password,age,sex,birthday)" +

" VALUES ('LXH-5','hello-5',15,'女','1965-08-05') ") ;

try{

conn.rollback(sp) ;// 回滚到保存点

conn.commit() ;// 所有的操作成功了

}catch(Exception e){

e.printStackTrace() ;

}

stmt.close() ;

conn.close() ;// 数据库关闭

}

};

set autocommit=0;  //开启事务    1关闭事务

begin;

insert into user_detail(id,password,name,email) values(1234,'aaa','testa','123@qq.com'); //插入数据

rollback;//回滚,取消插入的数据

insert into user_detail(id,password,name,email) values(1234,'aaa','testa','123@qq.com'); //插入数据

commit;//提交数据,不能回滚

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2011-03-03 21:11

浏览 2756

分类:数据库

评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值