?? dbconnection.java
字號:
package cn.netjava.dbc;
import javax.sql.*;
import java.sql.*;
import org.apache.commons.dbcp.BasicDataSource;
/**
* 數據庫連接類,使用了DBCP 數據庫連接池
*
* @author XieChengmin
*
*/
public class DBConnection {
private static DataSource ds = null;
private static boolean poolOK = false;
final static String DBDRIVER = "oracle.jdbc.OracleDriver";
final static String DBURL = "jdbc:oracle:thin:@localhost:1521:ora9";
final static String DBUSER = "mjk";
final static String DBPWD = "mjk";
/**
* 取得數據庫連接
*
* @return 一個數據池中的連接
*/
public static Connection getConn() {
// 如果連接池未安裝 或 連接池壞死, 安裝連接池
if (null == ds || false == poolOK) {
ds = setupDataSource();
}
Connection con = null;
try {
con = ds.getConnection();
poolOK = true;
//檢測連接是否有效,如果無效,會拋出異常
con.prepareStatement("select * from tab");
} catch (SQLException e) {
poolOK = false;
shutdownDataSource(ds);
System.out.println("數據庫意外關閉" + e);
}
return con;
}
/**
* 安裝連接池
*
* @return 連接池對象
*
*/
private static DataSource setupDataSource() {
BasicDataSource bds = new BasicDataSource();
bds.setDriverClassName(DBDRIVER);
bds.setUrl(DBURL);
bds.setUsername(DBUSER);
bds.setPassword(DBPWD);
bds.setInitialSize(10);
bds.setMaxActive(30);
return bds;
}
/**
* 關閉連接池
*/
private static void shutdownDataSource(DataSource ds) {
BasicDataSource bds = (BasicDataSource) ds;
try {
bds.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
private DBConnection() {
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -