[size=large][/size][color=indigo][b][/b][b]//事务的使用
import java.sql.*;
public class Transaction {
public static void main(String[] args) {
Connection conn = null;
Statement sta = null;
boolean auto = true;
try{
conn = DatabaseConnection.getOracleConnection();
auto = conn.getAutoCommit();
conn.setAutoCommit(false);
sta = conn.createStatement();
sta.executeUpdate("insert into stu values(22,'haha')");
sta.executeUpdate("insert into emp values(22,'ss',50,'70')");
conn.commit();}
catch (Exception e) {
e.printStackTrace();
try{
conn.rollback(); }
catch (SQLException e1) {
e1.printStackTrace();}
}
finally {
try {
conn.setAutoCommit(auto);}
catch (SQLException e) {
e.printStackTrace();}
try {
sta.close();
conn.close();}
catch (SQLException e) {
e.printStackTrace();
}
}
}
}
//批量处理的使用
import java.sql.*;
public class AddBatch {
public static void main(String[] args) {
Connection conn=null;
Statement sta=null;
boolean auto=true;
try{conn=DatabaseConnection.getOracleConnection();
conn.setAutoCommit(false);
auto=conn.getAutoCommit();
sta=conn.createStatement();
sta.executeUpdate("insert into stu values(23,'李明')");
sta.executeUpdate("insert into stu values(24,'何斌')");
sta.executeUpdate("insert into stu values(25,'李紫涵')");
sta.executeBatch();
conn.commit();
}catch(Exception e){
e.printStackTrace();
try{
conn.rollback();}catch(Exception e1){
e1.printStackTrace();
}
finally{
try{
conn.setAutoCommit(auto);
}catch(Exception e1){
e1.printStackTrace();
}
if(sta!=null){
try{
sta.close();
}catch(Exception e1){
e1.printStackTrace();
}
}
if(conn!=null){
try{
conn.close();
}catch(Exception e1){
e1.printStackTrace();
}
}
}
}
}
}[/b][/color]
import java.sql.*;
public class Transaction {
public static void main(String[] args) {
Connection conn = null;
Statement sta = null;
boolean auto = true;
try{
conn = DatabaseConnection.getOracleConnection();
auto = conn.getAutoCommit();
conn.setAutoCommit(false);
sta = conn.createStatement();
sta.executeUpdate("insert into stu values(22,'haha')");
sta.executeUpdate("insert into emp values(22,'ss',50,'70')");
conn.commit();}
catch (Exception e) {
e.printStackTrace();
try{
conn.rollback(); }
catch (SQLException e1) {
e1.printStackTrace();}
}
finally {
try {
conn.setAutoCommit(auto);}
catch (SQLException e) {
e.printStackTrace();}
try {
sta.close();
conn.close();}
catch (SQLException e) {
e.printStackTrace();
}
}
}
}
//批量处理的使用
import java.sql.*;
public class AddBatch {
public static void main(String[] args) {
Connection conn=null;
Statement sta=null;
boolean auto=true;
try{conn=DatabaseConnection.getOracleConnection();
conn.setAutoCommit(false);
auto=conn.getAutoCommit();
sta=conn.createStatement();
sta.executeUpdate("insert into stu values(23,'李明')");
sta.executeUpdate("insert into stu values(24,'何斌')");
sta.executeUpdate("insert into stu values(25,'李紫涵')");
sta.executeBatch();
conn.commit();
}catch(Exception e){
e.printStackTrace();
try{
conn.rollback();}catch(Exception e1){
e1.printStackTrace();
}
finally{
try{
conn.setAutoCommit(auto);
}catch(Exception e1){
e1.printStackTrace();
}
if(sta!=null){
try{
sta.close();
}catch(Exception e1){
e1.printStackTrace();
}
}
if(conn!=null){
try{
conn.close();
}catch(Exception e1){
e1.printStackTrace();
}
}
}
}
}
}[/b][/color]
本文通过两个Java示例介绍了如何在Oracle数据库中使用事务管理和批量处理:一是通过事务确保数据的一致性;二是利用批量处理提高数据插入效率。
1237

被折叠的 条评论
为什么被折叠?



