数据连接池——proxool

这个proxool连接池弄了很久,网上的资料大多不全,或者都是在将怎么配置,怎么用的说的很少或是太复杂了不容易懂

来说说proxool这个连接池:这个连接池最大的特点就是能够监视连接池的情况,及时发现数据溢出之类的问题

建立proxool连接池的步骤:

1.导入jar包:proxool-0.9.1.2.jar   和   proxool-cglib.jar

2.配置PROXOOL文件,proxool.xml

<?xml version="1.0" encoding="UTF-8"?>
<proxool-config>
<proxool>
	<!-- 连接池别名 -->
	<alias>test</alias>
	<!-- 连接数据库的驱动URL -->
	<driver-url>jdbc:mysql://localhost:3306/usta</driver-url>
	<!-- 连接数据库的驱动类 -->
	<driver-class>com.mysql.jdbc.Driver</driver-class>
	<driver-properties>
		<property name="user" value="root" />
		<property name="password" value="root" />
	</driver-properties>
	<!-- 处于睡眠的最大时间 -->
	<house-keeping-sleep-time>900000</house-keeping-sleep-time>
	<!-- 连接的最大活动时间 -->
	<maximum-active-time>500000</maximum-active-time>
	<!-- 最大的连接数量 -->
	<maximum-connection-count>10</maximum-connection-count>
	<!-- 最小的连接数量 -->
	<minimum-connection-count>4</minimum-connection-count>
	<!-- 检测连接是否处于空闲状态,执行这条语句来测试 -->
	<house-keeping-test-sql>select 1</house-keeping-test-sql>
	<prop key="hibernate.connection.release_mode">after_transaction</prop>
</proxool>
</proxool-config>

3.写一个proxool工具类

package com.xx.train.bdqn.jdbc.utils;
//proxool工具类
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class PROXOOLUtils {
	public static Connection getConnection() {
		Connection con = null;
		try {
			Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");
			con = DriverManager.getConnection("jdbc:mysql://localhost:3306/usta", "root", "root");
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return con;
	}
}

4.写一个测试类

package com.xx.train.bdqn.jdbc.utils;

import java.sql.Connection;
import java.sql.PreparedStatement;

public class AddPROXOOL {
	public void addUser() throws Exception {
		Connection con = null;
		PreparedStatement pstmt = null;

		con = PROXOOLUtils.getConnection();
		String sql = "insert into user value(null,?,?)";
		pstmt = con.prepareStatement(sql);
		pstmt.setString(1, "xx");
		pstmt.setString(2, "123");
		int n = pstmt.executeUpdate();
		if (n > 0) {
			System.out.println("更新成功");
		} else {
			System.out.println("更新失败");
		}
	}
}

5.调用测试类

package com.xx.train.bdqn.jdbc.test;

import com.xx.train.bdqn.jdbc.utils.AddPROXOOL;

public class TestPROXOOL {
	public static void main(String[] args) throws Exception {
		AddPROXOOL a = new AddPROXOOL();
		a.addUser();
	}
}

猜你喜欢

转载自blog.csdn.net/progammer10086/article/details/81381800