import java.io.File;
import java.sql.Connection;
import java.sql.Date;
import java.sql.SQLException;
import java.sql.Timestamp;
import javax.transaction.RollbackException;
import com.frameworkset.common.poolman.DBUtil;
import com.frameworkset.common.poolman.PreparedDBUtil;
import com.frameworkset.orm.transaction.TransactionManager;
public class PreparedAndBatchTestWithNullConnection {
/**
* 执行预编译更新操作,释放数据库资源实例
*
* @throws SQLException
*/
public static void updateTest() throws SQLException {
PreparedDBUtil db = new PreparedDBUtil();
try {
// con = null;
for (int i = 0; i < 60; i++) {
db = new PreparedDBUtil();
db
.preparedUpdate("update TD_REG_BANK_ACC_bak set create_acc_time=?,starttime=?,endtime=? where id=951");
Date today = new Date(new java.util.Date().getTime());
db.setTimestamp(1,
new Timestamp(new java.util.Date().getTime()));
db.setTimestamp(2,
new Timestamp(new java.util.Date().getTime()));
// if(true && i < 50)
// {
// //此处抛出业务异常,必须在相应的异常处理块或者finally块中调用db.resetPrepare()方法来释放数据库资源
// //如果没有释放则会导致系统运行一段时候后抛出以下异常:
// //Cannot get a connection, pool error Timeout waiting for
// idle object
// throw new Exception("e");
// }
db.setTimestamp(3,
new Timestamp(new java.util.Date().getTime()));
db.executePrepared();
// db.addBatch(sql);
}
} catch (Exception e) {
/**
* PreparedDBUtil执行预编译操作过程中抛出异常后,调用resetPrepare()方法来释放数据库资源
* 该方法也可以放到finally块中执行 finally {
*
* db.resetPrepare(); }
*/
db.resetPrepare();
System.out.println(e.getMessage());
} finally {
/**
* PreparedDBUtil执行预编译操作结束后调用resetPrepare()方法来释放数据库资源
*/
db.resetPrepare();
}
}
/**
* 包含在事务环境中的预编译操作,执行抛出异常后
*
* @throws SQLException
*/
public static void updateWithTXtest() throws SQLException {
TransactionManager tm = new TransactionManager();
PreparedDBUtil db = new PreparedDBUtil();
try {
tm.begin();
// con = null;
for (int i = 0; i < 60; i++) {
db = new PreparedDBUtil();
db
.preparedUpdate(
"update TD_REG_BANK_ACC_bak set create_acc_time=?,starttime=?,endtime=? where id=951");
Date today = new Date(new java.util.Date().getTime());
db.setTimestamp(1, new Timestamp(new java.util.Date()
.getTime()));
db.setTimestamp(2, new Timestamp(new java.util.Date()
.getTime()));
// if(true && i < 50)
// {
// throw new Exception("e");
// }
db.setTimestamp(3, new Timestamp(new java.util.Date()
.getTime()));
db.executePrepared();
}
tm.commit();// 事务提交后自动释放系统资源
} catch (Exception e) {
try {
tm.rollback();// 事务回滚后也会自动释放系统资源
} catch (RollbackException e1) {
e1.printStackTrace();
}
} finally {
db.resetPrepare();
}
}
public static void inserttest() {
PreparedDBUtil db = new PreparedDBUtil();
try {
for (int i = 0; i < 60; i++) {
db = new PreparedDBUtil();
db
.preparedInsert(
"insert into td_reg_bank_acc_bak (create_acc_time,starttime,endtime) values(?,?,?)");
Date today = new Date(new java.util.Date().getTime());
// db.setInt(1, 1000 + i);
db.setDate(1, new java.util.Date());
db.setDate(2, new java.util.Date());
db.setDate(3, new java.util.Date());
// if(true && i < 50)
// {
// throw new Exception("e");
// }
Object id = db.executePrepared();
System.out.println("inserttest " + id+ " success i= " + i +".");
}
success ++;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
failed ++;
} finally {
db.resetPrepare();
}
}
public static void insertWithTXtest() throws SQLException {
Connection con = null;
PreparedDBUtil db = new PreparedDBUtil();
TransactionManager tm = new TransactionManager();
try {
tm.begin();
for (int i = 0; i < 60; i++) {
db = new PreparedDBUtil();
db
.preparedInsert(
"insert into td_reg_bank_acc_bak (create_acc_time,starttime,endtime) values(?,?,?)");
Date today = new Date(new java.util.Date().getTime());
// db.setInt(1, 1000 + i);
db.setDate(1, new java.util.Date());
db.setDate(2, new java.util.Date());
db.setDate(3, new java.util.Date());
//
// if(true && i < 50)
// {
// throw new Exception("e");
// }
db.executePrepared(con);
}
tm.commit();
} catch (Exception e) {
try {
tm.rollback();
} catch (RollbackException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
System.out.println(e.getMessage());
} finally {
if (con != null)
con.close();
;
}
}
public static void deleteWithTXtest() throws SQLException {
Connection con = null;
PreparedDBUtil db = new PreparedDBUtil();
TransactionManager tm = new TransactionManager();
try {
tm.begin();
for (int i = 0; i < 60; i++) {
db = new PreparedDBUtil();
db.preparedDelete(
"delete from TD_REG_BANK_ACC_bak where id=?");
db.setInt(1, 1000 + i);
// if(true && i < 50)
// {
// throw new Exception("e");
// }
db.executePrepared(con);
}
tm.commit();
} catch (Exception e) {
System.out.println(e.getMessage());
try {
tm.rollback();
} catch (RollbackException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
} finally {
if (con != null)
con.close();
;
}
}
public static void deletetest() throws SQLException {
Connection con = null;
PreparedDBUtil db = new PreparedDBUtil();
try {
for (int i = 0; i < 60; i++) {
db = new PreparedDBUtil();
db
.preparedDelete("delete from TD_REG_BANK_ACC_bak where id=?");
db.setInt(1, 1000 + i);
// if(true && i < 50)
// {
// throw new Exception("e");
// }
db.executePrepared();
}
} catch (Exception e) {
System.out.println(e.getMessage());
} finally {
db.resetPrepare();
if (con != null)
con.close();
}
}
public static void selecttest() {
Connection con = null;
PreparedDBUtil db = new PreparedDBUtil();
try {
for (int i = 0; i < 60; i++) {
db = new PreparedDBUtil();
db
.preparedSelect(
"select create_acc_time,starttime,endtime from TD_REG_BANK_ACC_bak where id=?");
db.setInt(1, 1000 + i);
// if(true && i < 50)
// {
// throw new Exception("e");
// }
db.executePrepared(con);
// db.executeSelect("select
// create_acc_time,starttime,endtime from
// TD_REG_BANK_ACC_bak where id=951");
System.out.println("create_acc_time=" + db.getDate(0, 0));
System.out.println("starttime=" + db.getDate(0, 1));
System.out.println("endtime=" + db.getDate(0, 2));
}
} catch (Exception e) {
System.out.println(e.getMessage());
} finally {
// db.resetPreparedResource();
db.resetPrepare();
if (con != null)
try {
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public static void selectpaginetest() throws SQLException {
long start = System.currentTimeMillis();
// TransactionManager tm = new TransactionManager();
PreparedDBUtil db = new PreparedDBUtil();
try {
// tm.begin();
for (int i = 0; i < 10; i++) {
db
.preparedSelect(
"select create_acc_time,starttime,endtime from TD_REG_BANK_ACC_bak where id between ? and ?",
0, 100);
db.setInt(1, 1);
db.setInt(2, 10000);
// if(true && i < 50)
// {
// throw new Exception("e");
// }
db.executePrepared();
// db.executePrepared();
System.out.println("total size:" + db.getLongTotalSize());
System.out.println("page size:" + db.size());
}
for (int i = 0; i < 10000; i++) {
System.out.println("执行业务逻辑10000次:第" + i + "次");
}
// tm.commit();
} catch (Exception e) {
try {
// tm.rollback();
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
e.printStackTrace();
} finally {
if (db != null)
db.resetPrepare();
}
long end = System.currentTimeMillis();
System.out.println("执行selectpaginetest方法耗时:" + (end - start) / 1000
+ "秒");
}
public static void batchWithTXTest() throws Exception {
long start = System.currentTimeMillis();
Connection con = null;
TransactionManager tm = new TransactionManager();
PreparedDBUtil db = null;
try {
con = null;
tm.begin();
for (int i = 0; i < 30; i++) {
db = new PreparedDBUtil();
db.addBatch("delete from TD_REG_BANK_ACC_bak where id=951");
db.addBatch("delete from TD_REG_BANK_ACC_bak where id=951");
// if(i < 30)
// throw new Exception("batch");
db.addBatch("delete from TD_REG_BANK_ACC_bak where id=951");
db.addBatch("delete from TD_REG_BANK_ACC_bak where id=951");
db.executeBatch();
}
tm.commit();
success++;
} catch (Exception e) {
// TODO Auto-generated catch block
failed++;
e.printStackTrace();
if (db != null) {
db.resetBatch();
}
tm.rollback();
}
finally {
total++;
try {
if (con != null)
con.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
long end = System.currentTimeMillis();
System.out.println("执行batchWithTXTest方法耗时:" + (end - start) / 1000
+ "秒");
}
public static void batchTest() throws Exception {
Connection con = null;
PreparedDBUtil db = new PreparedDBUtil();
try {
con = null;
for (int i = 0; i < 60; i++) {
db = new PreparedDBUtil();
db.setBatchConnection(con);
db.addBatch("delete from TD_REG_BANK_ACC_bak where id=951");
db.addBatch("delete from TD_REG_BANK_ACC_bak where id=951");
// if(i < 55)
// //此处抛出业务异常,需要在相应的异常处理块或finally块中调用db.resetBatch()方法释放数据库资源
// throw new Exception("batch");
db.addBatch("delete from TD_REG_BANK_ACC_bak where id=951");
db.addBatch("delete from TD_REG_BANK_ACC_bak where id=951");
db.executeBatch();
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
// finally块中调用db.resetBatch()方法释放数据库资源,确保资源能够正常回收
db.resetBatch();
try {
if (con != null)
con.close();
;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public static void test() throws SQLException {
System.out
.println("PreparedAndBatchTestWithNullConnection.deletetest() before;");
PreparedAndBatchTestWithNullConnection.deletetest();
System.out
.println("PreparedAndBatchTestWithNullConnection.deletetest() end;");
System.out
.println("PreparedAndBatchTestWithNullConnection.inserttest() before;");
PreparedAndBatchTestWithNullConnection.inserttest();
System.out
.println("PreparedAndBatchTestWithNullConnection.inserttest() end;");
System.out
.println("PreparedAndBatchTestWithNullConnection.selecttest() before;");
PreparedAndBatchTestWithNullConnection.selecttest();
System.out
.println("PreparedAndBatchTestWithNullConnection.selecttest() end;");
System.out
.println("PreparedAndBatchTestWithNullConnection.updateTest() before;");
PreparedAndBatchTestWithNullConnection.updateTest();
System.out
.println("PreparedAndBatchTestWithNullConnection.updateTest() end;");
System.out
.println("after update PreparedAndBatchTestWithNullConnection.selecttest() before;");
PreparedAndBatchTestWithNullConnection.selecttest();
System.out
.println("after update PreparedAndBatchTestWithNullConnection.selecttest() end;");
System.out
.println("2 PreparedAndBatchTestWithNullConnection.deletetest() before;");
PreparedAndBatchTestWithNullConnection.deletetest();
System.out
.println("2 PreparedAndBatchTestWithNullConnection.deletetest() end;");
}
public static void testTX() throws SQLException {
System.out
.println("PreparedAndBatchTestWithNullConnection.deletetest() before;");
PreparedAndBatchTestWithNullConnection.deleteWithTXtest();
System.out
.println("PreparedAndBatchTestWithNullConnection.deletetest() end;");
System.out
.println("PreparedAndBatchTestWithNullConnection.inserttest() before;");
PreparedAndBatchTestWithNullConnection.insertWithTXtest();
System.out
.println("PreparedAndBatchTestWithNullConnection.inserttest() end;");
System.out
.println("PreparedAndBatchTestWithNullConnection.selecttest() before;");
PreparedAndBatchTestWithNullConnection.selecttest();
System.out
.println("PreparedAndBatchTestWithNullConnection.selecttest() end;");
System.out
.println("PreparedAndBatchTestWithNullConnection.updateTest() before;");
PreparedAndBatchTestWithNullConnection.updateWithTXtest();
System.out
.println("PreparedAndBatchTestWithNullConnection.updateTest() end;");
System.out
.println("after update PreparedAndBatchTestWithNullConnection.selecttest() before;");
PreparedAndBatchTestWithNullConnection.selecttest();
System.out
.println("after update PreparedAndBatchTestWithNullConnection.selecttest() end;");
System.out
.println("2 PreparedAndBatchTestWithNullConnection.deletetest() before;");
PreparedAndBatchTestWithNullConnection.deleteWithTXtest();
System.out
.println("2 PreparedAndBatchTestWithNullConnection.deletetest() end;");
}
public static void insertBoubleClob() {
Connection con = null;
TransactionManager tm = new TransactionManager();
con = null;
PreparedDBUtil db = new PreparedDBUtil();
try {
tm.begin();
db
.preparedInsert(
"insert into TD_REG_BANK_ACC_bak (clob1,clob2) values(?,?)");
db.setClob(1, "aa", "clob1");
db.setClob(2, "bb", "clob2");
// db.setPrimaryKey(3, "10000", "id");
db.executePrepared(con);
tm.commit();
} catch (Exception e) {
e.printStackTrace();
try {
tm.rollback();
} catch (RollbackException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
// db.resetBatch();
}
finally {
try {
if (con != null)
con.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public static void updateBoubleClob() {
Connection con = null;
PreparedDBUtil db = new PreparedDBUtil();
try {
DBUtil dbUtil = new DBUtil();
dbUtil.executeSelect("select id from TD_REG_BANK_ACC_bak", con);
for (int i = 0; i < dbUtil.size(); i++) {
db = new PreparedDBUtil();
db
.preparedUpdate(
"update TD_REG_BANK_ACC_bak set clob1 = ?,clob2 = ? where id=?");
db.setClob(1, "aaa1", "clob1");
db.setClob(2, "bbb2", "clob2");
// db.setNull(1, java.sql.Types.CLOB);
// db.setNull(2, java.sql.Types.CLOB);
db.setPrimaryKey(3, dbUtil.getInt(i, "id"), "id");
db.executePrepared();
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally {
db.resetPrepare();
try {
if (con != null)
con.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public static void updateBoubleClobWithOuterConnection() {
Connection con = null;
DBUtil dbUtil = new DBUtil();
TransactionManager tm = new TransactionManager();
PreparedDBUtil db = new PreparedDBUtil();
try {
dbUtil.executeSelect("select id from TD_REG_BANK_ACC_bak", con);
tm.begin();
for (int i = 0; i < dbUtil.size(); i++) {
db = new PreparedDBUtil();
db
.preparedUpdate(
"update TD_REG_BANK_ACC_bak set clob1 = ?,clob2 = ? where id=?");
db.setClob(1, "aaa1", "clob1");
db.setClob(2, "bbb2", "clob2");
// db.setNull(1, java.sql.Types.CLOB);
// db.setNull(2, java.sql.Types.CLOB);
db.setPrimaryKey(3, dbUtil.getInt(i, "id"), "id");
db.executePrepared();
System.out.println("updateBoubleClobWithOuterConnection " + dbUtil.getInt(i, "id")+ " success i= " + i +".");
}
tm.commit();
} catch (Exception e) {
e.printStackTrace();
try {
tm.rollback();
} catch (RollbackException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
// db.resetBatch();
}
finally {
db.resetPrepare();
try {
if (con != null)
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public static void updateBoubleBlob() {
Connection con = null;
con = null;
DBUtil dbUtil = new DBUtil();
TransactionManager tm = new TransactionManager();
PreparedDBUtil db = new PreparedDBUtil();
try {
dbUtil.executeSelect("select id from TD_REG_BANK_ACC_bak", con);
tm.begin();
for (int i = 0; i < dbUtil.size(); i++) {
db = new PreparedDBUtil();
db
.preparedUpdate(
"update TD_REG_BANK_ACC_bak set blob1 = ? where id=?");
db.setBlob(1, "addddvvvbbb1".getBytes(), "blob1");
// db.setClob(2, "bbb2", "clob2");
// db.setNull(1, java.sql.Types.CLOB);
// db.setNull(2, java.sql.Types.CLOB);
db.setPrimaryKey(2, dbUtil.getInt(i, "id"), "id");
db.executePrepared(con);
System.out.println("updateBoubleBlob update " + dbUtil.getInt(i, "id") + " success i= " + i +"."); }
// dbUtil.execute("commit");
// tm.rollback();
tm.commit();
} catch (Exception e) {
e.printStackTrace();
try {
tm.rollback();
} catch (RollbackException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
// db.resetBatch();
}
finally {
db.resetPrepare();
try {
if (con != null)
con.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public static void updateBoubleBlobFile() {
DBUtil dbUtil = new DBUtil();
TransactionManager tm = new TransactionManager();
PreparedDBUtil db = new PreparedDBUtil();
try {
dbUtil.executeSelect("select id from TD_REG_BANK_ACC_bak");
tm.begin();
for (int i = 0; i < dbUtil.size(); i++) {
db
.preparedUpdate(
"update TD_REG_BANK_ACC_bak set blob1 = ? where id=?");
db
.setBlob(
1,
new File(
"D:\\workspace\\cms20080416\\creatorcms\\WEB-INF\\lib\\frameworkset-pool.jar"),
"blob1");
// db.setClob(2, "bbb2", "clob2");
// db.setNull(1, java.sql.Types.CLOB);
// db.setNull(2, java.sql.Types.CLOB);
db.setPrimaryKey(2, dbUtil.getInt(i, "id"), "id");
db.executePrepared();
System.out.println("updateBoubleBlobFile " + dbUtil.getInt(i, "id")+ " success i= " + i +".");
}
// dbUtil.execute("commit");
// tm.rollback();
tm.commit();
} catch (Exception e) {
e.printStackTrace();
try {
tm.rollback();
} catch (RollbackException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
// db.resetBatch();
}
finally {
db.resetPrepare();
}
}
public static void insertBlobFile() {
// DBUtil dbUtil = new DBUtil();
TransactionManager tm = new TransactionManager();
PreparedDBUtil db = new PreparedDBUtil();
try {
// dbUtil.executeSelect("select id from TD_REG_BANK_ACC_bak");
tm.begin();
// for(int i = 0; i < dbUtil.size();i ++)
// {
db
.preparedInsert(
"insert into TD_REG_BANK_ACC_bak(blob1) values(?)");
db
.setBlob(
1,
new File(
"D:\\workspace\\cms20080416\\creatorcms\\WEB-INF\\lib\\frameworkset-pool.jar"),
"blob1");
// db.setClob(2, "bbb2", "clob2");
// db.setNull(1, java.sql.Types.CLOB);
// db.setNull(2, java.sql.Types.CLOB);
// db.setPrimaryKey(2, dbUtil.getInt(i, "id"), "id");
db.executePrepared();
// }
// dbUtil.execute("commit");
// tm.rollback();
tm.commit();
} catch (Exception e) {
e.printStackTrace();
try {
tm.rollback();
} catch (RollbackException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
// db.resetBatch();
}
finally {
db.resetPrepare();
}
}
public static void updateBoubleBlobWithCommon() {
Connection con = null;
TransactionManager tm = new TransactionManager();
con = null;
DBUtil dbUtil = new DBUtil();
PreparedDBUtil db = new PreparedDBUtil();
try {
dbUtil.executeSelect("select id from TD_REG_BANK_ACC_bak", con);
tm.begin();
for (int i = 0; i < dbUtil.size(); i++) {
db = new PreparedDBUtil();
db
.preparedUpdate(
"update TD_REG_BANK_ACC_bak set blob1 = ?,BANK_ACC=? where id=?");
db.setBlob(1, "addddvvvbbbwwww1".getBytes(), "blob1");
db.setString(2, "etst");
// db.setClob(2, "bbb2", "clob2");
// db.setNull(1, java.sql.Types.CLOB);
// db.setNull(2, java.sql.Types.CLOB);
db.setPrimaryKey(3, dbUtil.getInt(i, "id"), "id");
db.executePrepared(con);
}
// dbUtil.execute("commit");
// tm.rollback();
// tm.commit();
} catch (Exception e) {
e.printStackTrace();
try {
tm.rollback();
} catch (RollbackException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
// db.resetBatch();
}
finally {
try {
tm.commit();
} catch (RollbackException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
if (con != null)
con.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public static void updateWithCommon() {
Connection con = null;
con = null;
DBUtil dbUtil = new DBUtil();
TransactionManager tm = new TransactionManager();
PreparedDBUtil db = new PreparedDBUtil();
try {
dbUtil.executeSelect("select id from TD_REG_BANK_ACC_bak", con);
tm.begin();
for (int i = 0; i < dbUtil.size(); i++) {
db
.preparedUpdate(
"update TD_REG_BANK_ACC_bak set BANK_ACC=? where id=?");
// db.setBlob(1, "addddvvvbbbwwww1".getBytes(), "blob1");
db.setString(1, "qqqqqq");
// db.setClob(2, "bbb2", "clob2");
// db.setNull(1, java.sql.Types.CLOB);
// db.setNull(2, java.sql.Types.CLOB);
db.setPrimaryKey(2, dbUtil.getInt(i, "id"), "id");
db.executePrepared(con);
System.out.println("updateWithCommon update " + dbUtil.getInt(i, "id") + " success i= " + i +".");
}
// dbUtil.execute("commit");
// tm.rollback();
tm.commit();
} catch (Exception e) {
e.printStackTrace();
try {
tm.rollback();
} catch (RollbackException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
// db.resetBatch();
}
finally {
db.resetPrepare();
try {
if (con != null)
con.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public static void getTableMetas() {
// DBUtil.getTableMetaDatas();
DBUtil.getTableMetaDatas();
}
public static void insertAutoID() {
Connection con = null;
con = null;
TransactionManager tm = new TransactionManager();
PreparedDBUtil db = new PreparedDBUtil();
try {
// tm.begin();
db
.preparedInsert(
"insert into TD_REG_BANK_ACC_bak (clob1,clob2) values(?,?)");
db.setClob(1, "aa", "clob1");
db.setClob(2, "bb", "clob2");
Object id = db.executePrepared(con);
System.out.println(id);
// tm.commit();
success ++;
System.out.println("insertAutoID " + id+ " success i= " + 0 +".");
} catch (Exception e) {
failed ++;
e.printStackTrace();
try {
// tm.rollback();
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
// db.resetBatch();
}
finally {
db.resetPrepare();
try {
if (con != null)
con.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public static void insertAutoIDRollback() {
Connection con = null;
con = null;
TransactionManager tm = new TransactionManager();
PreparedDBUtil db = new PreparedDBUtil();
try {
tm.begin();
db.preparedInsert(
"insert into TD_REG_BANK_ACC_bak (BANK_ACC) values(?)");
// db.setClob(1, "aa", "clob1");
// db.setClob(2, "bb", "clob2");
db.setString(1, "aa");
System.out.println(db.executePrepared());
// tm.rollback();
tm.commit();
} catch (Exception e) {
e.printStackTrace();
try {
tm.rollback();
} catch (RollbackException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
// db.resetBatch();
}
finally {
try {
if (con != null)
con.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public static void columnMetaDataTest() {
// java.sql.Types.FLOAT;
Connection con = null;
try {
con = null;
System.out.println(DBUtil.getColumnMetaData("TABLEINFO",
"LEVY_RATE", con));
System.out.println(DBUtil.getColumnMetaData("TABLEINFO",
"PARENT_ID", con));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
if (con != null)
con.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
static volatile int count = 0;
static int maxthread = 1;
static volatile long time = 0;
static volatile long end = 0;
static volatile int success = 0;
static volatile int failed = 0;
public static void main(String[] args) throws Exception {
// java.io.PrintStream out = new java.io.PrintStream(new
// java.io.FileOutputStream(new java.io.File("d:/out.txt")));
// System.setOut(out);
// System.setErr(out);
MainThread main = new MainThread();
main.start();
}
static class MainMonitor extends Thread {
public void run() {
while (true) {
int i = DBUtil.getNumActive();
int j = DBUtil.getNumIdle();
System.out.println("DBUtil.getNumIdle():" + j);
System.out.println("DBUtil.getNumActive():" + i);
if (count == 0)
break;
try {
sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
try {
sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
end = System.currentTimeMillis();
System.out.println("成功:" + success + "次");
System.out.println("失败:" + failed + "次");
System.out.println("总数:" + total + "次");
System.out.println("不带连接执行时间:" + (end - time) / 1000 + "秒");
System.out.println();
}
}
static volatile int total = 0;
static class MainThread extends Thread {
public void start() {
super.start();
}
public void run() {
for (int i = 0; i < maxthread; i++) {
if (i == maxthread - 1)
time = System.currentTimeMillis();
Thread t = new BinFaTest();
t.start();
}
MainMonitor m = new MainMonitor();
m.start();
}
}
public static void testIdleNumber() {
System.out.println("DBUtil.getNumIdle():" + DBUtil.getNumIdle());
}
public static void testActiveNumber() {
System.out.println("DBUtil.getNumActive():" + DBUtil.getNumActive());
}
static class BinFaTest extends Thread {
public void start() {
count++;
System.out.println(count);
super.start();
}
public void run() {
// testIdleNumber();
// testActiveNumber();
while (count < maxthread) {
try {
sleep(5);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
try {
// selectpaginetest();
// testTX();
// test();
// batchTest();
// batchWithTXTest();
// insertBoubleClob();
//// // LoadThread t = new LoadThread();
//// // t.start();
//// // LoadThread t1 = new LoadThread();
//// // t1.start();
//// // updateBoubleClob();
// try {
// updateBoubleBlob();
// } catch (Exception e) {
// e.printStackTrace();
// }
// updateWithCommon();
insertAutoID();
// inserttest();
// insertAutoIDRollback();
// insertBlobFile();
//// updateBoubleBlobFile();
////
//// // String test = ":s:";
//// // String test1 = "s::";
//// // String test2 = "::s";
//// // String a[] = test.split(":");
//// // System.out.println("a.length:" +a.length);
//// // System.out.println("a[0]:"+a[0]);
//// // System.out.println("a[1]:"+a[1]);
//// //
//// // String b[] = test1.split(":");
//// // System.out.println("b.length:" +b.length);
//// // System.out.println("b[0]:"+b[0]);
//// //
//// // String c[] = test2.split(":");
//// // System.out.println("c.length:" +c.length);
//// // System.out.println("c[0]:"+c[0]);
// columnMetaDataTest();
//// // System.out.println("b[1]:"+b[1]);
//// // System.out.println(a.length);
//// // testIdleNumber();
//// // testActiveNumber();
////
// updateBoubleClobWithOuterConnection();
} catch (Exception e) {
e.printStackTrace();
}
count--;
}
}
}