import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Date;java
import org.apache.commons.dbcp.BasicDataSource;mysql
public class TestMysql {sql
private static BasicDataSource datasource = new BasicDataSource();
private static String DRIVERCLASS = "com.mysql.jdbc.Driver" ;
private static String URL = "jdbc:mysql://localhost/mysql" ;// 后面的一个 mysql 为数据库名
private static String USERNAME = "root" ;
private static String PASSWORD = "root" ;
/*
private String DRIVERCLASS = "com.microsoft.sqlserver.jdbc.SQLServerDriver" ;
private String URL = "jdbc:sqlserver://localhost:1433;database=pubs" ;
private String USERNAME = "sa" ;
private String PASSWORD = "" ;
*/
// 传统数据库
public static Connection openConnection() {
Connection conn = null ;
try {
if(conn == null){
Class.forName(DRIVERCLASS);
conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
return conn ;
}
// 数据库池
public static Connection getConn(){
Connection con = null ;
try {
datasource.setDriverClassName(DRIVERCLASS);
datasource.setUrl(URL);
datasource.setUsername(USERNAME);
datasource.setPassword(PASSWORD);
datasource.setMaxActive(10);
datasource.setMaxIdle(5);
datasource.setMaxWait(0);
con = datasource.getConnection();
} catch (Exception e) {
// TODO: handl exception
e.printStackTrace();
}
return con ;
}数据库
// 两种方式实现的性能测试
public static void main(String[] args) {
TestMysql test = new TestMysql();
long stat = System.currentTimeMillis();
System.out.println("one stated !");
for(int i=0; i<3000; i++){
try {
Connection con1 = test.openConnection();
Connection con2 = test.openConnection();
Connection con3 = test.openConnection();
Connection con4 = test.openConnection();
Connection con5 = test.openConnection();
con1.close();
con2.close();
con3.close();
con4.close();
con5.close();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
// System.out.println("con ==" + con);
long end = System.currentTimeMillis();
System.out.println("one time == " + (end - stat));
long s = System.currentTimeMillis();
System.out.println("twe sataed !");
for(int i=0; i<3000; i++){
try {
Connection con1 = test.getConn();
Connection con2 = test.getConn();
Connection con3 = test.getConn();
Connection con4 = test.getConn();
Connection con5 = test.getConn();
con1.close();
con2.close();
con3.close();
con4.close();
con5.close();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
long e = System.currentTimeMillis();
System.out.println("twe time == " + (e - s));
}apache
}sqlserver