通过Proxool配置访问数据库的要点

proxool 配置的时候有Proxool.properties 或者 Proxool.xml 两种方式初始化。 我的配置环境是 myEclipse10+tomcat6.0 + mysql5.0 。

数据库test和表t_user的信息如下:

在开始我们的讲解之前前先要下载 proxool-0.9.1.zip,拷贝proxool-0.9.1.jar 和 proxool-cglib.jar 到web-info/lib文件夹下。  

下载proxool 的地址:http://proxool.sourceforge.net,读者可以根据情况下载最新的版本。

现在就方法Proxool.properties方法做讲解:

1. 首先右击WEB-INF——>New——File,在弹出的窗口中输入文件名为Proxool.properties 文件,然后通过点击Add来添加键值对:

对应的键值对如下:

jdbc-0.proxool.alias=mysql
jdbc-0.proxool.driver-url=jdbc:mysql://localhost:3306/test     //注意这里的test是数据库的名称,可以根据自己的数据库设置
jdbc-0.proxool.driver-class=com.mysql.jdbc.Driver
jdbc-0.user=root   //数据库访问名称
jdbc-0.password=root   //数据库访问密码
jdbc-0.proxool.maximum-connection-count=30
jdbc-0.proxool.minimum-connection-count=5
jdbc-0.proxool.prototype-count=3
jdbc-0.proxool.house-keeping-test-sql=select CURRENT_DATE
jdbc-0.proxool.verbose=true
jdbc-0.proxool.statistics=10s,1m,1d
jdbc-0.proxool.statistics-log-level=ERROR

2. 向 web.xml 中添加 proxool初始化设置servlet 。 即 添加如下内容:

<servlet>
     <servlet-name>ServletConfigurator</servlet-name>
     <servlet-class>
     org.logicalcobwebs.proxool.configuration.ServletConfigurator
     </servlet-class>
     <init-param>
      <param-name>propertyFile</param-name>
      <param-value>WEB-INF/Proxool.properties</param-value>
     </init-param>
     <load-on-startup>1</load-on-startup>
    </servlet>

   如果想要监控 proxool 连接池信息,可以加如下信息。 输入http://localhost:8080/PoolTest/admin.proxool 即可看见
<servlet>
   <servlet-name>Admin</servlet-name>
   <servlet-class>org.logicalcobwebs.proxool.admin.servlet.AdminServlet</servlet-class>
</servlet>
<servlet-mapping>
   <servlet-name>Admin</servlet-name>
   <url-pattern>/admin.proxool</url-pattern>
</servlet-mapping>

3. 在 新建 test.jsp 内容如下

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@page import="java.sql.*"%>   
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>

<%
   Connection conn = null;
   try {
    Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");
     conn = DriverManager.getConnection("proxool.mysql");
    if( conn!=null )
     System.out.println("数据库连接测试成功!");
    Statement stmt = conn.createStatement();
    ResultSet rst = null;
    rst = stmt.executeQuery("select * from t_user"); // sql 查询语句,视具体情况而定
    while( rst.next() )
     out.println(rst.getString(2));   //显示第二列信息
   }catch(SQLException e){
    System.out.print( e.toString() );
// }catch(ProxoolException el) {
//   System.out.print( el.toString() );
   } catch(Exception ee){
    System.out.print( ee.toString() );
   }
   finally {
    try {
     if(conn != null)
      conn.close();
    }catch(SQLException e2) {
     System.out.print( e2.toString() );
    }
   }
%>

</body>
</html>

这里在启动Tomcat的时候会报错,需要引用的jar包是:commons-logging-1.1.1.jar和mysql-connector-java.jar,其中mysql-connector-java.jar是连接mysql数据库的包。

运行效果如图:

 

 查看连接池信息:http://localhost:8080/PoolTest/admin.proxool,显示的画面如下:

 

访问其他的数据库和这种方法一样,只是引用的jar包、驱动等不同。

 

posted @ 2013-10-25 16:31  jsping68  阅读(8459)  评论(0编辑  收藏  举报