使用Apache提供的commons-DBCP来实现数据库连接池。
1.引入jar包
引入三个与连接池相关的jar包: commons-pool.jar,commons-logging.jar,commons-dbcp.jar。
2.代码实例
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import org.apache.commons.dbcp2.BasicDataSource;
public class ConnectionJDBC {
/**
* @param args
*/
//驱动程序就是之前在classpath中配置的JDBC的驱动程序的JAR 包中
public static final String DBDRIVER = "com.mysql.jdbc.Driver";
//连接地址是由各个数据库生产商单独提供的,所以需要单独记住
public static final String DBURL = "jdbc:mysql://192.168.0.4:3306/myDB";
//连接数据库的用户名
public static final String DBUSER = "root";
//连接数据库的密码
public static final String DBPASS = "";
public static BasicDataSource ds = null;
public static void dbpoolInit()
{
ds = new BasicDataSource();
ds.setUrl(DBURL);
ds.setDriverClassName(DBDRIVER);
ds.setUsername(DBUSER);
ds.setPassword(DBPASS);
}
public static void main(String[] args) throws Exception {
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
try {
//初始化连接池
dbpoolInit();
//获取数据库连接
con = ds.getConnection();
//创建Statement
stmt = con.createStatement();
rs = stmt.executeQuery("select * from person");
while(rs.next())
{
System.out.println(rs.getString("address"));
}
}catch(SQLException e) {
//异常处理
e.printStackTrace();
}
finally {
//将数据库连接归还给连接池
if(con !=null) { con.close(); }
if(stmt!=null) { stmt.close();}
if(rs!=null) { rs.close(); }
}
}
}