1.Apche的DBCP在Hibernate2中受支持,但在Hibernate3中已经不再推荐使用,官方解释是这个连接池存在缺陷。
2.默认情况下(即没有配置连接池的情况下)Hibernate会采用内建的连接池,但这个连接池性能不佳。
下面是Hibernate环境下几种常见的连接池配置:
1 .Hibernate默认连接池
com.mysql.jdbc.Driver jdbc:mysql://localhost:3306/schoolproject true UTF-8 root true org.hibernate.dialect.MySQLDialect
2 .C3PO连接配置
com.mysql.jdbc.Driver jdbc:mysql://localhost:3306/schoolproject true UTF-8 root org.hibernate.connection.C3P0ConnectionProvider 20 5 120 100 120 2 true org.hibernate.dialect.MySQLDialect
3 .proxool连接池
1.先写proxool的配置文件,文件名:proxool.xml(一般放在与hibernate.cfg.xml文件在同一个目录中)本例配置的是MySql数据库,数据库名为:schoolproject
DBPool jdbc:mysql://localhost:3306/schoolproject?useUnicode =true &characterEncoding =UTF8 com.mysql.jdbc.Driver 90000 20 5 100 10
2.配置hibernate.cfg.xml文件
org.hibernate.connection.ProxoolConnectionProvider DBPool proxoolconf.xml true org.hibernate.dialect.MySQLDialect
(1) hibernate.connection.provider_class 定义 Hibernate 的连接加载类 , 这里 Proxool 连接池是用这个 , 不同的连接池有不同的加载类 , 可以查阅 Hibernate 文档获取相关信息
(2) hibernate.proxool.pool_alias 这里就是用我们上面提到的连接池的别名
(3) hibernate.proxool.xml 是向 Hibernate 声明连接池的配置文件位置 , 可以用相对或绝对路径 , 用相对路径时要注意一定在要 Path 范围内!不然会抛出异常 .
(4) dialect 是声明 sql 语句的方言
(5) show_sql 定义是否显示 Hibernate 生成的 sql 语言 , 一般在调试阶段设为 true, 完成后再改成 false, 这样有利于调试 .
(6)