JDBC之数据库连接(proxool)

JDBC在应用程序中,主要是干三件事
A、数据库的连接
B、执行SQL语句
C、处理结果集
这一节主要是深究项目中的第一个使用场景,使用的proxool连接池来批量处理数据库的连接
、理解proxool连接池的首先理解这两个Servlet的作用,并配置好
1、org.logicalcobwebs.proxool.configuration.ServletConfigurator
2、org.logicalcobwebs.proxool.admin.servlet.AdminServlet
ServletConfigurator是必须的一个Servlet必须配置在Web.xml中,这个主要的作用是为了把proxool配置的信息加载到运行的内存中供应用程序调用,具体的过程是在配置这个Servlet的时候就要把初始化参数<init-param>value</init-param>配置好如下:

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

注意:只需要配置进内存供应用程序使用,不需要映射路径因为外部的不会调用它。
如果proxool参数使用XML文件配置的话,初始化参数的名字是xmlFile,这个是在Servlet中就已经写死的,不想自己在想办法处理的话必须写它。
第二种方式是用properties的形式来配置参数,配置只需要吧Web.xml中初始化参数那一部分换成如下:

<init-param>
<param-name>propertyFile</param-name>
<param-value>WEB-INF/proxool.properties</param-value>
</init-param>

这个有个不好的地方我目前只知道配置连接一个数据库的配置,而XML文件可以把多个数据库的配置。
AdminServlet的作用是用来监测数据库的连接情况,使用proxool提供的只需要配置好就会在启动应用程序的时候把这个Servlet给启动,配置如下:

<servlet>
<servlet-name>Admin</servlet-name>
<servlet-class>org.logicalcobwebs.proxool.admin.servlet.AdminServlet</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Admin</servlet-name>
<url-pattern>/admin</url-pattern>
</servlet-mapping>

这个要给它映射路径,是供管理员查看数据库连接等情况使用的。
这里写图片描述

、接下来就是在具体的文件配置属性XML形式、properties文件形式,从源码看其实还有另外初始化参数配置两种–(1)文件名autoShutdown和(2)以jdbc开始的配置字符串位于value。后面两种情况没试过,有时间有兴趣可以再研究,本文要记录的是第一种
以XML形式

<?xml version="1.0" encoding="UTF-8"?>
<something-else-entirely>

<proxool>
<alias>Happy</alias> <!--数据源的别名 -->
<driver-url>jdbc:sqlserver://127.0.0.1:1433;DatabaseName=Happy
</driver-url>
<driver-class>com.microsoft.sqlserver.jdbc.SQLServerDriver
</driver-class> <!--驱动类 -->
<driver-properties>
<property name="user" value="happy" /> <!--用户名 -->
<property name="password" value="1111ws" /><!--密码 -->
</driver-properties>
<simultaneous-build-throttle>50</simultaneous-build-throttle>
<!--最大连接数(默认5个),超过了这个连接数,再有请求时,就排在队列中等候,最大的等待请求数由maximum-new-connections决定 -->
<maximum-connection-count>1000</maximum-connection-count>
<!--最小连接数(默认2个) -->
<minimum-connection-count>50</minimum-connection-count>
<!--proxool自动侦察各个连接状态的时间间隔(毫秒),侦察到空闲的连接就马上回收,超时的销毁 默认30秒 -->
<house-keeping-sleep-time>30000</house-keeping-sleep-time>
<!-- 线程活动最大时间,默认是5分钟.
<maximum-active-time>6000000</maximum-active-time> -->
<!--最少保持的空闲连接数(默认2个) -->
<prototype-count>50</prototype-count>
<!--在使用之前测试 -->
<test-before-use>true</test-before-use>
<!--用于保持连接的测试语句 -->
<house-keeping-test-sql>select 1</house-keeping-test-sql>
</proxool>

<proxool>
<!--同上具体根据第二个数据库的参数自行修改,还可以再设置其他数据库 -->
</proxool>
</something-else-entirely>

、最后肯定是要在应用程序中使用建立起来的连接啊

public static Connection getConnection() throws SQLException {
Connection connection = null;
connection = DriverManager.getConnection("proxool.happy");
return connection;
}

返回的connection,就可以用了。JDBC关于第一件事处理数据库的连接使用proxool就这样处理完了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值