import java.sql.Connection;
import java.sql.Date;
import java.sql.SQLException;
import java.util.List;
import com.frameworkset.common.poolman.DBUtil;
import com.frameworkset.common.poolman.JDBCTemplate;
import com.frameworkset.common.poolman.PreparedDBUtil;
import com.frameworkset.common.poolman.SQLExecutor;
import com.frameworkset.common.poolman.TemplateDBUtil;
import com.frameworkset.sqlexecutor.ListBean;
/**
*
*
* <p>Title: TestTemplateDBUtil.java</p>
*
* <p>Description: </p>
*
* </p>
* <p>
* bboss workgroup
* </p>
* <p>
* Copyright (c) 2007
* </p>
*
* @Date 2009-6-1 下午08:58:51
* @author biaoping.yin
* @version 1.0
*/
public class TestTemplateDBUtil {
public static void testrollbackWithConnection() throws Throwable
{
TemplateDBUtil.executeTemplate(
new JDBCTemplate(){
public void execute() throws Exception {
DBUtil dbUtil = new DBUtil();
Connection con = PreparedDBUtil.getConection();
PreparedDBUtil db = null;
try {
for (int i = 0; i < 1; i++) {
db = new PreparedDBUtil();
db
.preparedInsert("bspf",
"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);
}
}
catch(SQLException e)
{
con.rollback();
throw e;
}
catch(Exception e)
{
con.rollback();
throw e;
}
finally {
db.resetPrepare();
con.close();
}
dbUtil.executeInsert("insert into table values()");
}
}
);
}
public static void testrollback() throws Throwable
{
TemplateDBUtil.executeTemplate(
new JDBCTemplate(){
public void execute() throws Exception {
DBUtil dbUtil = new DBUtil();
PreparedDBUtil db = null;
try {
for (int i = 0; i < 1; i++) {
db = new PreparedDBUtil();
db.preparedInsert("bspf",
"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();
}
} finally {
}
dbUtil.executeInsert("bspf","insert into table values()");
}
}
);
}
public static void testcommit() throws Throwable
{
TemplateDBUtil.executeTemplate(
new JDBCTemplate(){
public void execute() throws Exception {
DBUtil dbUtil = new DBUtil();
PreparedDBUtil db = null;
try {
db = new PreparedDBUtil();
//插入操作
db.preparedInsert("bspf",
"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");
// }
String id = String.valueOf(db.executePrepared());
System.out.println("insert id:" + id);
db = new PreparedDBUtil();
db.preparedSelect("bspf",
"select create_acc_time,starttime,endtime from td_reg_bank_acc_bak where id=?");
db.setString(1, id);
db.executePrepared();
System.out.println("after insert common select begin.");
System.out.println(db.size());
System.out.println("create_acc_time:"+db.getDate(0, "create_acc_time"));
System.out.println("starttime:"+db.getDate(0, "starttime"));
System.out.println("endtime:"+db.getDate(0, "endtime"));
System.out.println("after insert common select end.");
//更新操作
db = new PreparedDBUtil();
db.preparedUpdate("bspf",
"update td_reg_bank_acc_bak set create_acc_time=?,starttime=?,endtime=? where id=?");
db.setDate(1, null);
db.setDate(2, null);
db.setDate(3, null);
db.setString(4, id);
db.executePrepared();
//查询操作
db = new PreparedDBUtil();
db.preparedSelect("bspf",
"select create_acc_time,starttime,endtime from td_reg_bank_acc_bak where id=?");
db.setString(1, id);
db.executePrepared();
System.out.println("after update common select begin.");
System.out.println(db.size());
System.out.println("create_acc_time:"+db.getDate(0, "create_acc_time"));
System.out.println("starttime:"+db.getDate(0, "starttime"));
System.out.println("endtime:"+db.getDate(0, "endtime"));
System.out.println("after update common select end.");
//删除操作
db = new PreparedDBUtil();
db.preparedDelete("bspf",
"delete from td_reg_bank_acc_bak where id=?");
db.setString(1, id);
db.executePrepared();
//删除后查询
db = new PreparedDBUtil();
db.preparedSelect("bspf",
"select create_acc_time,starttime,endtime from td_reg_bank_acc_bak where id=?");
db.setString(1, id);
db.executePrepared();
System.out.println("after delete common select:");
System.out.println(db.size());
db = new PreparedDBUtil();
db.preparedSelect("bspf",
"select create_acc_time,starttime,endtime from td_reg_bank_acc_bak where id=?",0,10);
db.setString(1, id);
db.executePrepared();
System.out.println("after delete pagine select:");
System.out.println("db.size():"+db.size());
System.out.println("db.getTotalSize():" +db.getLongTotalSize());
db = new PreparedDBUtil();
db.preparedSelect("bspf",
"select create_acc_time,starttime,endtime from td_reg_bank_acc_bak ",0,10);
db.executePrepared();
System.out.println(" pagine select:");
System.out.println("db.size():"+db.size());
System.out.println("db.getTotalSize():" +db.getLongTotalSize());
} finally {
}
dbUtil.executeInsert("bspf","insert into td_reg_bank_acc_bak (clob1,clob2) values('aa','bb')");
}
}
);
}
public static void testcommitWithoutdbname() throws Throwable
{
TemplateDBUtil.executeTemplate(
new JDBCTemplate(){
public void execute() throws Exception {
DBUtil dbUtil = new DBUtil();
PreparedDBUtil db = null;
try {
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");
// }
String id = String.valueOf(db.executePrepared());
System.out.println("insert id:" + id);
db = new PreparedDBUtil();
db.preparedSelect(
"select create_acc_time,starttime,endtime from td_reg_bank_acc_bak where id=?");
db.setString(1, id);
db.executePrepared();
System.out.println("after insert common select begin.");
System.out.println(db.size());
System.out.println("create_acc_time:"+db.getDate(0, "create_acc_time"));
System.out.println("starttime:"+db.getDate(0, "starttime"));
System.out.println("endtime:"+db.getDate(0, "endtime"));
System.out.println("after insert common select end.");
//更新操作
db = new PreparedDBUtil();
db.preparedUpdate(
"update td_reg_bank_acc_bak set create_acc_time=?,starttime=?,endtime=? where id=?");
db.setDate(1, null);
db.setDate(2, null);
db.setDate(3, null);
db.setString(4, id);
db.executePrepared();
//查询操作
db = new PreparedDBUtil();
db.preparedSelect(
"select create_acc_time,starttime,endtime from td_reg_bank_acc_bak where id=?");
db.setString(1, id);
db.executePrepared();
System.out.println("after update common select begin.");
System.out.println(db.size());
System.out.println("create_acc_time:"+db.getDate(0, "create_acc_time"));
System.out.println("starttime:"+db.getDate(0, "starttime"));
System.out.println("endtime:"+db.getDate(0, "endtime"));
System.out.println("after update common select end.");
//删除操作
db = new PreparedDBUtil();
db.preparedDelete(
"delete from td_reg_bank_acc_bak where id=?");
db.setString(1, id);
db.executePrepared();
//删除后查询
db = new PreparedDBUtil();
db.preparedSelect(
"select create_acc_time,starttime,endtime from td_reg_bank_acc_bak where id=?");
db.setString(1, id);
db.executePrepared();
System.out.println("after delete common select:");
System.out.println(db.size());
db = new PreparedDBUtil();
db.preparedSelect(
"select create_acc_time,starttime,endtime from td_reg_bank_acc_bak where id=?",0,10);
db.setString(1, id);
db.executePrepared();
System.out.println("after delete pagine select:");
System.out.println("db.size():"+db.size());
System.out.println("db.getTotalSize():" +db.getLongTotalSize());
db = new PreparedDBUtil();
db.preparedSelect(
"select create_acc_time,starttime,endtime from td_reg_bank_acc_bak ",0,10);
db.executePrepared();
System.out.println(" pagine select:");
System.out.println("db.size():"+db.size());
System.out.println("db.getTotalSize():" +db.getLongTotalSize());
} finally {
}
dbUtil.executeInsert("insert into td_reg_bank_acc_bak (clob1,clob2) values('aa','bb')");
}
}
);
}
/**
*
* @param beans
* @return
* @throws Throwable
*/
public void stringarraytoList(final List<ListBean> beans) throws Throwable {
TemplateDBUtil.executeTemplate(
new JDBCTemplate(){
public void execute() throws Exception {
String sql = "INSERT INTO LISTBEAN (" + "ID," + "FIELDNAME,"
+ "FIELDLABLE," + "FIELDTYPE," + "SORTORDER,"
+ " ISPRIMARYKEY," + "REQUIRED," + "FIELDLENGTH,"
+ "ISVALIDATED" + ")" + "VALUES"
+ "(#[id],#[fieldName],#[fieldLable],#[fieldType],#[sortorder]"
+ ",#[isprimaryKey],#[required],#[fieldLength],#[isvalidated])";
SQLExecutor.delete("delete from LISTBEAN");
SQLExecutor.insertBeans(sql, beans);
}
}
);
}
public static void testcommitWithConnection() throws Throwable
{
TemplateDBUtil.executeTemplate(
new JDBCTemplate(){
public void execute() throws Exception {
DBUtil dbUtil = new DBUtil();
PreparedDBUtil db = null;
try {
for (int i = 0; i < 1; i++) {
db = new PreparedDBUtil();
db.preparedInsert("bspf",
"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(dbUtil.getConection());
}
} finally {
}
dbUtil.executeInsert("insert into td_reg_bank_acc_bak (clob1,clob2) values('conaa','conbb')");
}
}
);
}
public static void main(String[] args) throws Throwable
{
// TestTemplateDBUtil.testrollback();
// TestTemplateDBUtil.testrollbackWithConnection();
TestTemplateDBUtil.testcommitWithoutdbname();
// TestTemplateDBUtil.testcommitWithConnection();
System.out.println(DBUtil.getNumActive());
System.out.println(DBUtil.getNumIdle());
System.out.println(DBUtil.getMaxNumActive());
}
}