public class DBConnection {
private static final String DRIVER = "org.gjt.mm.mysql.Driver";
private static final String URL = "jdbc:mysql://localhost:3306/studentManagement";
private static final String USER_NAME = "root";
private static final String PASSWORD = "root";
private static boolean isUsePool = true;
private static DataSource ds;
static{
//1.加载驱动
try {
if(isUsePool){
ds = getDBCPPoolDS();
}else{
Class.forName(DRIVER);
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
//得到连接
public Connection getConnection(){
Connection con = null;
try {
if(isUsePool){
con = ds.getConnection();
}else{
con = DriverManager.getConnection(URL, USER_NAME, PASSWORD);
}
} catch (SQLException e) {
e.printStackTrace();
}
return con;
}
//获得DBCP连接池的DataSource
private static DataSource getDBCPPoolDS(){
BasicDataSource ds = new BasicDataSource();
ds.setDriverClassName(DRIVER);
ds.setUrl(URL);
ds.setUsername(USER_NAME);
ds.setPassword(PASSWORD);
ds.setMaxActive(1000);
ds.setInitialSize(20);
ds.setMaxIdle(100000);
return ds;
}
//获得C3PO连接池的DataSource
private static DataSource getC3P0PoolDS(){
ComboPooledDataSource ds = new ComboPooledDataSource();
try {
ds.setDriverClass(DRIVER);
ds.setJdbcUrl(URL);
ds.setUser(USER_NAME);
ds.setPassword(PASSWORD);
ds.setMaxPoolSize(1000);
ds.setInitialPoolSize(20);
ds.setMaxIdleTime(100000);
} catch (PropertyVetoException e) {
e.printStackTrace();
}
return ds;
}
private static final String DRIVER = "org.gjt.mm.mysql.Driver";
private static final String URL = "jdbc:mysql://localhost:3306/studentManagement";
private static final String USER_NAME = "root";
private static final String PASSWORD = "root";
private static boolean isUsePool = true;
private static DataSource ds;
static{
//1.加载驱动
try {
if(isUsePool){
ds = getDBCPPoolDS();
}else{
Class.forName(DRIVER);
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
//得到连接
public Connection getConnection(){
Connection con = null;
try {
if(isUsePool){
con = ds.getConnection();
}else{
con = DriverManager.getConnection(URL, USER_NAME, PASSWORD);
}
} catch (SQLException e) {
e.printStackTrace();
}
return con;
}
//获得DBCP连接池的DataSource
private static DataSource getDBCPPoolDS(){
BasicDataSource ds = new BasicDataSource();
ds.setDriverClassName(DRIVER);
ds.setUrl(URL);
ds.setUsername(USER_NAME);
ds.setPassword(PASSWORD);
ds.setMaxActive(1000);
ds.setInitialSize(20);
ds.setMaxIdle(100000);
return ds;
}
//获得C3PO连接池的DataSource
private static DataSource getC3P0PoolDS(){
ComboPooledDataSource ds = new ComboPooledDataSource();
try {
ds.setDriverClass(DRIVER);
ds.setJdbcUrl(URL);
ds.setUser(USER_NAME);
ds.setPassword(PASSWORD);
ds.setMaxPoolSize(1000);
ds.setInitialPoolSize(20);
ds.setMaxIdleTime(100000);
} catch (PropertyVetoException e) {
e.printStackTrace();
}
return ds;
}
}
注:需要导入连接池所需要的jar包