===oracle 表sql
sql
CREATE TABLE "SMALL19RAIN"."R_TABLE_STU"
( "NAME" VARCHAR2(200 BYTE),
"AGE" NUMBER,
"STU_ID" NUMBER NOT NULL ENABLE,
"DATARAIN" VARCHAR2(200 BYTE)
) SEGMENT CREATION IMMEDIATE
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
NOCOMPRESS LOGGING
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "SMALLRAIN19TABLESPACE" ;
======java文件
java
package org.rain.db;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Savepoint;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
/**
* 数据库事务
*/
public class SmallRainDBTranscation {
public static void main(String[] args) {
Connection smallrainConn = null;
Statement smallrainStmt = null;
Savepoint smallRainSavaPoint = null;
PreparedStatement smallrainEditDB = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
smallrainConn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "smallrain123456789",
"Xiaoyu123456789");
//下面一行设置为true,第一个for循环会提交
smallrainConn.setAutoCommit(false);
smallrainStmt = smallrainConn.createStatement();
int smallrainInsertId = 30;
for (; smallrainInsertId < 50; smallrainInsertId++) {
smallrainEditDB = smallrainConn
.prepareStatement("INSERT INTO r_table_stu(STU_ID,NAME, DATARAIN) VALUES(?,?,?) ");
smallrainEditDB.setObject(1, smallrainInsertId);
smallrainEditDB.setObject(2, "data中文" + smallrainInsertId);
smallrainEditDB.setObject(3, "数据data中文" + smallrainInsertId);
smallrainEditDB.executeUpdate();
}
int smallrainInsertErrorId = 3;
for (; smallrainInsertErrorId < 6; smallrainInsertErrorId++) {
smallrainEditDB = smallrainConn
.prepareStatement("INSERT INTO r_table_stu(STU_ID,NAME, DATARAIN) VALUES(?,?,?) ");
smallrainEditDB.setObject(1, "数字类型为字符串报错");
smallrainEditDB.setObject(2, "error中文" + smallrainInsertId);
smallrainEditDB.setObject(3, "errordata中文" + smallrainInsertId);
smallrainEditDB.executeUpdate();
}
} catch (Exception e) {
try {
smallrainConn.rollback();
System.out.println("事务回滚");
} catch (Exception ein) {
e.printStackTrace();
}
} finally {
if (null != smallrainEditDB) {
try {
smallrainEditDB.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (null != smallrainStmt) {
try {
smallrainStmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (null != smallrainConn) {
try {
smallrainConn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}