今天搭建mysql +DBCP2 的连接池,参考了网上的许多例子,这是改成我的连接池配置:
dataSource = new BasicDataSource();
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setUrl(url); dataSource.setUsername(username);
dataSource.setPassword(password);
dataSource.setMaxTotal(100);//设置最大数量
dataSource.setInitialSize(10);//初始大小 dataSource.setMaxIdle(16);
dataSource.setMinIdle(8); //最大最小空闲数量
dataSource.setMaxWaitMillis(2*10000); //最大超时时间
建立好连接池之后,我找网上的jsp显示数据库的例子,改成自己的显示如下:
<%@ page language=”java” import=”java.util.*” pageEncoding=”utf-8”%>
<%@ page contentType=”text/html;charset=utf-8”%> <%@ page import=
“com.cqut.bsxt.pub.ConnectionPoolManager”%> <%@ page import=
“java.io.IOException” import= “java.io.PrintWriter” import=
“java.sql.*” %> <%
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
ConnectionPoolManager connMgr = ConnectionPoolManager.getInstance();
try{conn = connMgr.getConnection (new ConnectionPoolManager.CurrentClassGetter().getClassName()); stmt =
conn.createStatement(); String sql = “select * from dept2”; rs =
stmt.executeQuery(sql); while(rs.next()) {
out.println(““);
out.println(“” + rs.getString(“DEPTNO”) + ““);
out.println(““);
}
}
finally{
stmt.close();
connMgr.freeConnection(conn,new ConnectionPoolManager.CurrentClassGetter().getClassName());
}
%>
我截下了觉得重要的部分,中途忘记了加上<%代码%>,然后检查代码无误后,运行tomcat刷新之后报错,并不能显示数据库表内容。搜索后发现报错是缺少commons-pool2-2.4.2,这个包的版本是能适用于我的错误,我在官网下载的然后导入,运行后解决问题,能显示数据库表中数字。