Skip to content

Commit

Permalink
数据库操作批处理
Browse files Browse the repository at this point in the history
  • Loading branch information
cforth committed Apr 20, 2016
1 parent b58888f commit 597f6ba
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 1 deletion.
2 changes: 1 addition & 1 deletion javademo/README.md
Expand Up @@ -23,4 +23,4 @@ Java代码练习

11. [JDK1.8中的MapReduce](https://github.com/cforth/codefarm/blob/master/javademo/TestMapReduce.java)

12. [数据库编程JDBC: Statement(不安全)、](https://github.com/cforth/codefarm/blob/master/javademo/TestJDBC.java)[PreparedStatement](https://github.com/cforth/codefarm/blob/master/javademo/TestPreparedStatement.java)
12. [数据库编程JDBC: Statement(不安全)、](https://github.com/cforth/codefarm/blob/master/javademo/TestJDBC.java)[PreparedStatement](https://github.com/cforth/codefarm/blob/master/javademo/TestPreparedStatement.java)[批处理](https://github.com/cforth/codefarm/blob/master/javademo/TestBatch.java)
48 changes: 48 additions & 0 deletions javademo/TestBatch.java
@@ -0,0 +1,48 @@
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.util.Arrays;

/*
* Oracle数据库脚本
DROP TABLE member PURGE ;
DROP SEQUENCE myseq ;
CREATE SEQUENCE myseq ;
CREATE TABLE member (
mid NUMBER,
name VARCHAR2(20),
birthday DATE DEFAULT SYSDATE ,
age NUMBER(3),
note CLOB,
CONSTRAINT pk_mid PRIMARY KEY(mid)
);
*/

public class TestBatch {
private static final String DBDRIVER = "oracle.jdbc.driver.OracleDriver";
private static final String DBURL = "jdbc:oracle:thin:@localhost:1521:orcl";
private static final String USER = "scott";
private static final String PASSWORD = "tiger";

public static void main(String[] args) throws Exception {
Class.forName(DBDRIVER);
Connection conn = DriverManager.getConnection(DBURL, USER, PASSWORD);
Statement stmt = conn.createStatement();
conn.setAutoCommit(false); //取消自动提交
try {
stmt.addBatch("INSERT INTO member(mid,name) VALUES (myseq.nextval, '测试A')");
stmt.addBatch("INSERT INTO member(mid,name) VALUES (myseq.nextval, '测试B')");
stmt.addBatch("INSERT INTO member(mid,name) VALUES (myseq.nextval, '测试C')");
stmt.addBatch("INSERT INTO member(mid,name) VALUES (myseq.nextval, '测试D')");
stmt.addBatch("INSERT INTO member(mid,name) VALUES (myseq.nextval, '测试E')");
int result [] = stmt.executeBatch(); //执行处理
System.out.println(Arrays.toString(result));
conn.commit(); //如果没有错误,进行提交
} catch(Exception e) {
e.printStackTrace();
conn.rollback(); //如果出现异常则进行回滚
}
conn.close();
}

}

0 comments on commit 597f6ba

Please sign in to comment.