📄 poolman.java
字号:
/**
* Created at Nov 30, 2008
*/
package com.jdev.db;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Vector;
/**
* <p>Title: PoolMan</p>
* <p>Description: </p>
* @author Lawrence
* @version
*/
public class PoolMan extends ConnectPool {
private ConnectPool connMgr;
private Statement stmt;
private Connection con;
private ResultSet rst;
/**
* 对象连接初始化
*/
public Connection getPool(String name) throws Exception {
try {
connMgr = ConnectPool.getInstance();
con = connMgr.getConnection(name);
} catch (Exception e) {
System.err.println("不能创建连接!请尝试重启应用服务器");
}
return con;
}
/**
* 同以上方法,加入连接空闲等待时间 待用方法
*/
public Connection getPool_t(String name, long time) throws Exception {
try {
connMgr = ConnectPool.getInstance();
con = connMgr.getConnection(name, time);
} catch (Exception e) {
System.err.println("不能创建连接!");
}
return con;
}
/**
* 执行查询方法1
*/
public ResultSet executeQuery(String SqlStr) throws Exception {
ResultSet result = null;
try {
stmt = con.createStatement();
result = stmt.executeQuery(SqlStr);
// here add one line by jnma 12.11
con.commit();
} catch (java.sql.SQLException e) {
throw new Exception("执行查询语句出错");
}
return result;
}
/**
* 执行查询方法2
*/
public ResultSet getRst(String SqlStr) throws Exception {
// ResultSet result = null;
try {
stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
rst = stmt.executeQuery(SqlStr);
// here add one line by jnma 12.11
con.commit();
} catch (java.sql.SQLException e) {
throw new Exception("执行查询语句出错");
}
return rst;
}
/**
* 执行更新
*/
public int Update(String SqlStr) throws Exception {
int result = -1;
try {
stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
result = stmt.executeUpdate(SqlStr);
// here add one line by jnma 12.11
con.commit();
if (result == 0)
System.out.println("执行delete,update,insert SQL出错");
} catch (java.sql.SQLException e) {
System.err.println("执行delete,update,insert SQL出错");
}
return result;
}
/**
* 执行事务处理
*/
public boolean handleTransaction(Vector SqlArray) throws Exception {
boolean result = false;
int ArraySize = SqlArray.size();
try {
stmt = con.createStatement();
con.setAutoCommit(false);
System.out.println("ArraySize is" + ArraySize);
for (int i = 0; i < ArraySize; i++) {
System.out.println(" 开始执行语句" + (String) SqlArray.elementAt(i));
stmt.executeUpdate((String) SqlArray.elementAt(i));
System.out.println(" 执行成功");
}
con.commit();
con.setAutoCommit(true);// 必须
System.out.println("事务执行成功");
result = true;
} catch (java.sql.SQLException e) {
try {
System.out.println(e.toString());
System.out.println("数据库操作失败");
con.rollback();
} catch (java.sql.SQLException Te) {
System.err.println("事务出错回滚异常");
}
}
try {
con.setAutoCommit(true);
} catch (java.sql.SQLException e) {
System.err.println("设置自动提交失败");
}
return result;
}
/**
* 释放连接
*/
public void close(String name) throws Exception {
try {
if (stmt != null)
stmt.close();
if (con != null) {
connMgr.freeConnection(name, con);
System.out.println(" [c 正在释放一个连接 ] ");
}
} catch (java.sql.SQLException e) {
System.err.println("释放连接出错");
}
}
/*
* (non-Javadoc)
*
* @see com.jdev.db.ConnectPool#freeConnection(java.lang.String,
* java.sql.Connection)
*/
@Override
public void freeConnection(String name, Connection con) {
// TODO Auto-generated method stub
super.freeConnection(name, con);
}
/*
* (non-Javadoc)
*
* @see com.jdev.db.ConnectPool#getConnection(java.lang.String, long)
*/
@Override
public Connection getConnection(String name, long time) {
// TODO Auto-generated method stub
return super.getConnection(name, time);
}
/*
* (non-Javadoc)
*
* @see com.jdev.db.ConnectPool#getConnection(java.lang.String)
*/
@Override
public Connection getConnection(String name) {
// TODO Auto-generated method stub
return super.getConnection(name);
}
/*
* (non-Javadoc)
*
* @see com.jdev.db.ConnectPool#release()
*/
@Override
public synchronized void release() {
// TODO Auto-generated method stub
super.release();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -