经过一个周末的折腾,终于找到了hibernate中使用数据库连接池的解决方案。
从网上google了一下,发现大致有三种可以实施的解决方案:
1、使用hibernate自带的连接池;
2、使用c3po包的连接池功能;
3、使用Proxool包的连接池功能;
第一种方案,就是在myeclipse产生的hibernate.cfg.xml中添加一个属性:
20第二种方案是:
testcom.microsoft.jdbc.sqlserver.SQLServerDriverjdbc:microsoft:sqlserver://localhost:1433;databasename=testsa123210180041360002101200302 org.hibernate.connection.C3P0ConnectionProvider第三中方案是Proxool:
在hibernate.cfg.xml中添加:
org.hibernate.connection.ProxoolConnectionProviderDBPoolProxool.xmlorg.hibernate.dialect.SQLServerDialectfalse然后再添加一个Proxool.xml文件:
DBPool
jdbc:microsoft:sqlserver://localhost:1433;databasename=test
com.microsoft.jdbc.sqlserver.SQLServerDriver
10
这个三种方案,我都可以配置成功,可是,郁闷的是,这三种方案,都比我不用连接池的数据要慢,可能是我的测试不准确吧?我只做了连续100000次的数据插入操作
这个没有哪个好,虽然都是对数据库的连接,但方式是不一样的, hibernate会把数据库的表 对象化,方便在程序中操作(关系也映射好了) 而数据库连接池 只是数据库连接 只是方式不一样罢了,两个没有比较可言。