学习_Java_Base_Hibernate_JDBC属性_01

JDBC连接
Hibernate JDBC属性
-通常你希望SessionFactory来为你创建和缓存(pool)JDBC连接.如果你采用这种方式,只需要如下例所示那样,打开一个Session:
	#Session session = sessions.openSession();
-一旦你需要进行数据访问时,就会从连接池(connection pool)获得一个JDBC连接
-如果你设置如下属性,Hibernate将使用java.sql.DriverManager来获得(和缓存)JDBC连接
hibernate.connection.driver_class   jdbc驱动类
hibernate.connection.url	jdbc URL
hibernate.connection.username	数据库用户
hibernate.connection.password	数据库用户密码
hibernate.connection.pool_size	数据库容量上限数目
-但Hibernate自带的连接池算法相当不成熟.它只是为了让你快些上手,并不适合用于产品系统或性能测试中。出于最佳性能和稳定性考虑你应该使用第三方的连接池,只需要用特定连接池的设置替换hibernate.connection.pool_size即可。这将关闭Hibernate自带的连接池.例如,你可能会想用C3P0.
-C3P0是一个随Hibernate一同分发的开源的JDBC连接池,它位于lib目录下
-如果你设置了hibernate.c3p0.*相关的属性,Hibernate将使用C3P0ConnectionProvider来缓存JDBC连接
hibernate.connection.driver_class=org.postgresql.Driver
hibernate.connection.url=jdbc:postgresql://localhost/mydatabase
hibernate.connection.username=myuser
hibernate.connection.password=secret
hibernate.c3p0.min_size=5
hibernate.c3p0.max_size=20
hibernate.c3p0.timeout=1800
hibernate.c3p0.max_statements=50
hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
Hibernate数据源属性 JNDI(Java命名目录接口)
-为了能在应用程序服务器(application server)中使用Hibernate,应当总是将Hibernate配置成从注册在JNDI中的Datasource处获得连接,你至少需要设置下列属性中的一个:
属性名			用处
hibernate.connection.datasource		数据源JNDI名字
hibernate.jndi.url					JNDI提供者的URL(可选)
hibernate.jndi.class				JNDI InitialContextFactory类(可选)
hibernate.connection.username		数据库用户(可选)
hibernate.connection.password		数据库用户密码(可选)
例如:(注:java:/comp/env/内容是固定的)
hibernate.connection.datasource=java:/comp/env/jdbc/test
hibernate.transaction.factory_class=org.hibernate.transaction.JTATransactionFactory
hibernate.transaction.manager_lookup_class=org.hibernate.transaction.JBossTransactionManagerLookup
hibernate.dialect=org.hibernate.dialect.PostgeSQLDialect

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值