Hibernate需要进行数据库访问,因此必须设置连接数据库的相关属性。所有Hibernate属性的名字和语义都在org.hibernate.cfg.Environment中定义。
下面是关于JDBC连接配置中最重要的设置。
Ø hibernate.connection.driver_class:设置连接数据库的驱动。
Ø hibernate.connection.url:设置所需连接数据库服务的URL。
Ø hibernate.connection.username:连接数据库的用户名。
Ø hibernate.connection.password:连接数据库的密码。
Ø hibernate.connection.pool_size:设置Hibernate数据库连接池的最大并发连接数。
Ø hibernate.dialect:设置连接数据库所使用的方言。
如果在hibernate.cfg.xml或hibernate.properties文件中设置如上属性,Hibernate将可以处理底层数据库连接细节。
上面配置了Hibernate数据库连接池的最大并发连接数,但Hibernate自带的连接池仅有测试价值,并不推荐在实际项目中使用。实际项目中可以使用C3P0或Proxool连接池,为了使用C3P0或Proxool连接池,只需要用这些连接池配置代替hibernate.connection.pool_size配置属性即可。
下面是配置C3P0连接池的配置片段。
- <!-- 设置连接数据库的驱动。-->
- <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
- <!--设置所需连接数据库服务的URL。-->
- <property name="connection.url">jdbc:mysql://localhost/hibernate</property>
- <!--连接数据库的用户名。-->
- <property name="connection.username">root</property>
- <!-- 设置连接数据库的驱动。-->
- <property name="connection.password">32147</property>
- <!-- C3P0连接池的最大连接数-->
- <property name="hibernate.c3p0.max_size">20</property>
- <!-- C3P0连接池的最小连接数-->
- <property name="hibernate.c3p0.min_size">1</property>
- <!-- C3P0连接池中连接的超时时长 -->
- <property name="hibernate.c3p0.timeout">1800</property>
- <!-- C3P0缓存Statement的数量 -->
- <property name="hibernate.c3p0.max_statements">50</property>
本文转自 fkJava李刚 51CTO博客,原文链接:http://blog.51cto.com/javaligang/901725 ,如需转载请自行联系原作者