1.

 1 package com.asm;
 2 
 3 import java.io.File;
 4 import java.io.InputStream;
 5 import java.sql.Connection;
 6 import java.sql.DriverManager;
 7 import java.sql.ResultSet;
 8 import java.sql.Statement;
 9 
10 import org.junit.Test;
11 import org.logicalcobwebs.proxool.configuration.JAXPConfigurator;
12 import org.springframework.test.context.TestExecutionListeners;
13 
14 public class TestProxool {
15     public static String dburl = "jdbc:mysql://localhost:3306/test";
16     public static String user = "root";
17     public static String password = "123456";
18 
19     /**
20      *   /**   * JDBC方式测试   *   * @throws Exception   
21      */
22     @Test
23     public void test() throws Exception {
24         String testsql = "select * from village t where lastid = 1";
25         // 1:注册驱动类
26         Class.forName("com.mysql.jdbc.Driver");
27         // 2:创建数据库连接
28         Connection conn = DriverManager.getConnection(dburl, user, password);
29         // 3:创建执行SQL的对象
30         Statement stmt = conn.createStatement();
31         // 4:执行SQL,并获取返回结果
32         ResultSet rs = stmt.executeQuery(testsql);
33         // 5:处理返回结果,此处打印查询结果
34         while (rs.next()) {
35             System.out.print(rs.getLong("lastid") + "\t");
36             System.out.print(rs.getString("lastname") + "\t");
37             System.out.println();
38         }
39         // 6:关闭数据库连接
40         conn.close();
41     }
42 
43     /**
44      *   * proxool方式测试   *   * @throws Exception   
45      */
46     @Test
47     public  void test2() throws Exception { 
48         //Java应用中先要加载配置文件,否则谁知道你配置给谁用的 
49         JAXPConfigurator.configure("F:\\hysworkspace1\\ProxoolTest\\src\\proxool.xml", false);
50         String testsql = "select * from village t where lastid = 1"; 
51         //1:注册驱动类,这次这个驱动已经不是Oracle的驱动了,是Proxool专用的驱动 
52         Class.forName("org.logicalcobwebs.proxool.ProxoolDriver"); 
53         //2:创建数据库连接,这个参数是一个字符串,是数据源的别名,在配置文件中配置的timalias,参数格式为:proxool.数据源的别名 
54         Connection conn = DriverManager.getConnection("proxool.timalias"); 
55         //3:创建执行SQL的对象 
56         Statement stmt = conn.createStatement(); 
57         //4:执行SQL,并获取返回结果 
58         ResultSet rs = stmt.executeQuery(testsql); 
59         //5:处理返回结果,此处打印查询结果 
60         while (rs.next()) { 
61             System.out.print(rs.getLong("lastid") + "\t");
62             System.out.print(rs.getString("lastname") + "\t");
63         System.out.println(); 
64         } 
65         //6:关闭数据库连接 
66         conn.close();
67     }
68 }

 

 

2.

 1 <?xml version="1.0" encoding="UTF-8"?>  
 2 <something-else-entirely>  
 3         <proxool>  
 4                 <alias>timalias</alias>  
 5                 <!--数据源的别名-->  
 6                 <driver-url>jdbc:mysql://localhost:3306/test</driver-url> 
 7                 <!-- url连接串 -->  
 8                 <driver-class>com.mysql.jdbc.Driver</driver-class>  
 9                 <!-- 驱动类  -->  
10                 <driver-properties>  
11                         <property name="user" value="root"/>  
12                         <!--  用户名  -->  
13                         <property name="password" value="123456"/>  
14                         <!--  密码  -->  
15                 </driver-properties>  
16                 <!--   最大连接数(默认5个),超过了这个连接数,再有请求时,就排在队列中等候,最大的等待请求数由maximum-new-connections决定   -->  
17                 <maximum-connection-count>100</maximum-connection-count> 
18                 <!--   最小连接数(默认2个)   -->  
19                 <minimum-connection-count>10</minimum-connection-count>  
20                 <!--   proxool自动侦察各个连接状态的时间间隔(毫秒),侦察到空闲的连接就马上回收,超时的销毁 默认30秒      -->  
21                 <house-keeping-sleep-time>90000</house-keeping-sleep-time>  
22                 <!--   没有空闲连接可以分配而在队列中等候的最大请求数,超过这个请求数的用户连接就不会被接受   -->  
23                 <maximum-new-connections>10</maximum-new-connections>  
24                 <!--   最少保持的空闲连接数(默认2个)   -->  
25                 <prototype-count>5</prototype-count>  
26                 <!--   在使用之前测试  -->  
27                 <test-before-use>true</test-before-use>  
28                 <!--  用于保持连接的测试语句   -->  
29                 <house-keeping-test-sql>SELECT NOW()</house-keeping-test-sql>  
30         </proxool>  
31 </something-else-entirely>

 

 

 3、说明

  Proxool的配置文件路径不能使用ClassPath,我查看过接口代码,可以传入一个XmlReader、或流来解决,这里写成绝对路径就凑合着能跑起来就行。

  也支持Properties的配置,则个可以参考官方文档,也很方便的。

  有关配置参数,网上的文档一堆一堆的重复,大家随便找篇就行。

 

posted on 2016-06-21 17:01  Sharpest  阅读(473)  评论(0编辑  收藏  举报