📄 jmdboconnectionpool.java.svn-base
字号:
package jm.dbo;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.LinkedList;
/**
* 连接池
* @author spook(1shome)
* @see jdk1.5.2
* @version 1.4.0.1
*
*/
public class JMDBOConnectionPool {
public static final String CLASS_NAME = "JMDBOConnectionPool";
//private int checkedOut_;
private LinkedList freeConnections_ = new LinkedList();
// private String name_;
private String driver_;
private String password_;
private String URL_;
private String user_;
private int iMaxConn_;
/**
* 配置连接池
* @param _set 数据库配置信息
*/
public JMDBOConnectionPool(JMDBOConntionInfoKeyValue _set) {
if(_set==null){
_set = new JMDBOConntionInfoKeyValue();
}
// this.name_ = _set.getDatabase();
this.driver_ = _set.getDriver();
this.URL_ = _set.getUrl();
this.user_ = _set.getUser();
this.password_ = _set.getPassword();
this.iMaxConn_ = Integer.parseInt(_set.getMaxcon());
}
// /**
// * close not use con
// *
// * @param con
// * free con
// */
// public synchronized void freeConnection(Connection con) {
// freeConnections_.add(con);
// checkedOut_--;
// notifyAll();
// }
/**
* get a con from conpool
*
* @return Connection
*/
public synchronized Connection getConnection() {
Connection con = null;
try{
//直接取走
if (freeConnections_.size() > 0) {
con = (Connection)freeConnections_.getFirst();
freeConnections_.remove(0);
}
else{
//最大连接数
for(int i=0;i<iMaxConn_;i++){
con = newConnection();
freeConnections_.add(con);
}
con = newConnection();
}
}catch(Exception e){
e.printStackTrace();
}
return con;
}
/**
* creat new connection
*
* @return Connection
*/
private Connection newConnection() throws Exception {
Connection con = null;
Class.forName(driver_);
// System.out.println(driver_);
// System.out.println(URL_);
if (user_ == null) {
con = DriverManager.getConnection(URL_);
} else {
con = DriverManager.getConnection(URL_, user_, password_);
}
return con;
}
// 1�AOracle8/8i/9i����?�ithin�͎��j
//
// Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
// String url="jdbc:oracle:thin:@localhost:1521:orcl"; //orcl?����?�ISID
// String user="test";
// String password="test";
// Connection conn= DriverManager.getConnection(url,user,password);
//
// 2�ADB2����?
//
// Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance();
// String url="jdbc:db2://localhost:5000/sample"; //sample??�I����?��
// String user="admin";
// String password="";
// Connection conn= DriverManager.getConnection(url,user,password);
//
// 3�ASql Server7.0/2000����?
//
// Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
// String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb";
// // mydb?����?
// String user="sa";
// String password="";
// Connection conn= DriverManager.getConnection(url,user,password);
//
// 4�ASybase����?
//
// Class.forName("com.sybase.jdbc.SybDriver").newInstance();
// String url =" jdbc:sybase:Tds:localhost:5007/myDB";//myDB??�I����?��
// Properties sysProps = System.getProperties();
// SysProps.put("user","userid");
// SysProps.put("password","user_password");
// Connection conn= DriverManager.getConnection(url, SysProps);
//
// 5�AInformix����?
//
// Class.forName("com.informix.jdbc.IfxDriver").newInstance();
// String url =
// "jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver;
// user=testuser;password=testpassword"; //myDB?����?��
// Connection conn= DriverManager.getConnection(url);
//
// 6�AMySQL����?
//
// Class.forName("org.gjt.mm.mysql.Driver").newInstance();
// String url
// ="jdbc:mysql://localhost/myDB?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1"
// // myDB?����?��
// Connection conn= DriverManager.getConnection(url);
//
// 7�APostgreSQL����?
//
// Class.forName("org.postgresql.Driver").newInstance();
// String url ="jdbc:postgresql://localhost/myDB" //myDB?����?��
// String user="myuser";
// String password="mypassword";
// Connection conn= DriverManager.getConnection(url,user,password);
//
// 8�Aaccess����?��?�pODBC�I
//
// Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") ;
// String url="jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};DBQ="+application.getRealPath("/Data/ReportDemo.mdb");
// Connection conn = DriverManager.getConnection(url,"","");
// Statement stmtNew=conn.createStatement() ;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -