ibatis也能用proxool连接池

开发 后端
proxool连接池是我们经常用到的,但是在ibatis下,我们需要proxool连接池的时候,我们应该怎么办呢?这篇文章就提供了一个在ibatis下实际调用proxool连接池的方法。

在众多项目中使用过诸多连接池,如DBCP,PROXOOL等,发现还是proxool连接池好使,因为proxool连接池兼容性好,性能稳定。

在某次项目中,由于历史版本问题,使用了两个连接池,一个是proxool连接池,一个是IBATIS自由的SIMPLE连接池,但是在连接一个专有数据库时,却发现proxool可以创建连接池,而IBATIS的SIMPLE却不能建立连接(报经典的错The network apdapter counld‘t estenbilished the connection。。。)。后来将IBATIS改用DBCP,也不行。就想要是IBATIS能用proxool连接池就好了,查看IBATIS文档,文档上说IBATIS使用的连接池可以自己制定,由于项目紧,来不急了(等以后有时间了再研究一下),后来想想,能不能用spring把proxool连接池和SIMPLE连接池整合起来,一番搜索后,结果如下:

1.利用spring将IBATIS和proxool连接池整合起来,使IBATIS轻松使用proxool连接池。

Spring 配置如下:


      class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
       
       
   
   
       
            ${jdbc-0.proxool.driver-class}
       

       
            ${jdbc-0.proxool.driver-url}
       

       
            ${jdbc-0.user}
       

       
            ${jdbc-0.password}
       

       
            bst
       

       
            5
       

       
            10
       

       
            5
       

       
            10000
       

       
            true
       

       
            true

比较有意思的是SqlMapClientFactoryBean是sqlMapClient的工厂,所以可以直接从spring得到sqlMapClient。

因此只需要将原代码中从IBATIS构造sqlMapClient,改为从spring获取即可。

如原代码片段为:

    static {
        try {
            Reader reader = Resources.getResourceAsReader("com/bw/bst/db/SqlMapConfig.xml");
            sqlMapper = SqlMapClientBuilder.buildSqlMapClient(reader);
            reader.close();
        } catch (IOException e) {
            // Fail fast.
            throw new RuntimeException("Something bad happened while building the SqlMapClient instance." + e, e);
        }
    }

改为:

 static {
        ApplicationContext context = new ClassPathXmlApplicationContext(new String[]{"applicationContext.xml"},SqlMapUtil.class);
       sqlMapper= (SqlMapClient)  context.getBean("sqlMapClient");
    }

轻松又省力的使IBATIS使用了proxool连接池。

【编辑推荐】

  1. ibatis下加入c3p0连接池的方法
  2. 实例说明ibatis动态查询
  3. ibatis标签详解
  4. 避免ibatisN+1查询的方法
  5. ibatis级联解决登录系统问题
责任编辑:桑丘 来源: 寻梦的专栏blog
相关推荐

2009-09-22 14:52:55

Hibernate p

2019-12-30 15:30:13

连接池请求PHP

2011-06-01 13:54:10

MySQL

2009-07-15 11:14:30

c3p0连接池

2018-02-07 16:23:58

连接池内存池AI

2022-11-11 09:41:04

连接池微服务数据库

2009-06-17 16:22:45

Hibernate连接

2009-09-22 16:04:50

Hibernate连接

2015-04-27 09:50:45

Java Hibern连接池详解

2009-06-17 09:34:31

Hibernate3Hibernate2连接池

2009-06-24 07:53:47

Hibernate数据

2009-12-25 15:38:12

ADO连接池

2022-07-19 13:51:47

数据库Hikari连接池

2009-06-17 09:59:46

Hibernate 连

2010-06-25 10:36:27

Java连接池

2020-02-03 15:15:27

Druid连接池性能超出竞品

2021-03-24 09:06:01

MySQL长连接短连接

2011-07-04 09:39:25

java连接池

2023-12-26 01:24:45

Jedis连接池参数

2011-05-13 09:34:51

TomcatMysql连接池
点赞
收藏

51CTO技术栈公众号