欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

数据库连接池--实操

程序员文章站 2022-07-13 10:18:49
...

1.提前需要做的准备:

  • 导入jar包
  • 导入proxool.properties文件。
    如下图:数据库连接池--实操

2.完成proxool.properties文件的配置

  1. 修改alias值,我修改为test
  2. 在代码第三行和第四行,二选一。因为我用的是MySQL,不是Oracle,所以注释了第四行,留下第三行。
  3. 第六行和第七行同理。
    数据库连接池--实操
    还需修改的地方,如下图:
  4. 第六行框柱的地方改为数据库名称。
  5. 第九行和第十行分别改为数据库的用户名和密码即可。
    数据库连接池--实操

3.创建一个实现类UserDaoImpl2,里面有getConn方法

目的是 连接到数据池。

//加载Pro下偶偶了的驱动
Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");
//获取链接 proxool.test 注意:这里的test就是proxool.properties文件中alias的值。对应的。
conn = DriverManager.getConnection("proxool.test");

代码

package nuc.ss.daoimpl;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class UserDaoImpl2 {
	public Connection getConn() {
		Connection conn = null;
		
		try {
			//加载Pro下偶偶了的驱动
			Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");
			//获取链接
			conn = DriverManager.getConnection("proxool.test");
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		return conn;
		
	}
}

4.创建CoonPoolServlet类,继承HttpServlet

  1. 调用步骤3中类的方法,获取链接coon。
  2. 打印1000条数据,
  3. 计算出使用时间,即可对比出数据库连接池的优势。
    代码
package nuc.ss.controller;

import java.io.IOException;
import java.sql.Connection;
import java.sql.SQLException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import nuc.ss.daoimpl.UserDaoImpl2;


public class CoonPoolServlet extends HttpServlet{
	@Override
	protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		UserDaoImpl2 ud = new UserDaoImpl2();
		Connection conn = null;
		long start = System.currentTimeMillis();
		for(int i = 1; i<=1000;i++) {
			try {
				conn = ud.getConn();
				System.out.println(conn);
				conn.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		long end = System.currentTimeMillis();
		System.out.println("获取用时"+(end-start)+"毫秒");
	}
}

5.配置web.xml文件

<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/classes/proxool.properties</param-value>
  	</init-param>
  	<load-on-startup>1</load-on-startup>
  </servlet>
  
  
  <servlet>
  	<servlet-name>CoonPoolServlet</servlet-name>
  	<servlet-class>nuc.ss.controller.CoonPoolServlet</servlet-class>
  </servlet>
  <servlet-mapping>
  	<servlet-name>CoonPoolServlet</servlet-name>
  	<url-pattern>/cps</url-pattern>
  </servlet-mapping>
相关标签: JSP