hibernate数据库访问(翻译文档)
来源:互联网 发布:php支持mysql扩展 编辑:程序博客网 时间:2024/05/18 01:05
1、连接
Hiebernate代表你的应用可以连接数据库。它可以通过一些列的 机制访问数据库包扩1、内置的数据库连接池;2、java.sql.DataSource3、两种第三方数据库连接池一、C3P0二、proxool
内置的数据库连接池不用于具体应用的环境。
1.1初始化
你可以用一个xml部署文件来初始化数据库链接。
一、hibernate属性文件配置例子(C3P0)
hibernate.connection.driver_class=org.postgresql.Driver
hibernate.connection.url=jdbc:postgresql://localhostmydatabase
hibernate.connection.username=username
hibernate.connection.password=password
hibernate.c3p0.min_size=5
hibernate.c3p0.max_size=20
hibernate.c3p0.timeout=1800
hibernate.c3p0.max_statement=50
hibernate.dialect=org.hibernate.idalect=PostgreSQLDialect
二、与HSQL数据库连接的hibernate.cfg.xml文件配置例子
<hibernate-configuration>
<sessionFactory>
<!—数据库链接属性设置-à
<property name=”connection.driver_class”>org.hibernate.jdbcDriver</property>
<property name=”connection.url”>jdbc:hsqldb:hsql://localhost</property>
<property name=”connection.username”>sa</property>
<property name=”connection.password”></property>
<!-JDBC数据库连接池(用内置的数据库连接池)-à
<property name=”connection.pool_size”>1</property>
<!-SQL方言-à
<propertyname=”dialect”>org.hibernate.dialect.HSQLDialect</property>
<!-启动hibernate会话自动的上下文管理-à
<propertyname=”current_session_context_class”>thread</property>
<!-禁用二级缓存-à
<propertyname=”cache.provider_class”>org.hibernate.internal.NoCacheProvider</property>
<!—显示输出sql语句à
<property name=”show+sql”>true</property>
<!-在应用启动时,删除重新创建数据库应用模式-à
<property name=”hbm2ddl.auto”>update</property>
<mapping resource=”org/hibernate/tutorial/domain/Event.hbm.xml”/>
</sessionFactory>
</hibernate-configuration>
编程配置:
对象hibernate.cfg.Configuration的一个实体代表了整个应用程序java类型到数据库的映射,org.hebernate.cfg.Configuration建立了一个不可改变的数据库org.hebernate.SessionFactory,汇集了来自不同xml文件的映射,映射文件你可以指定,也可以市hibernate找到;
1、 直接指定映射文件
你可以通过一个指定的xml文件实例化一个org.hibernate.cfg.Configuration 实例,如果他在classpath中,用addResource()
Configuration cfg=new Configuration();.addResource(“Item.hbm.xml”)
2、 让hibernate找到你的映射文件
;addClass()方法让hibernate在路径中寻找同名的映射文件(有点不准确原文为The addClass() method directs hibernate to search the CLASSPATH FORmapping files,eliminating hard-code file names);在下面的例子中hibernate将去寻找org/hibernate/auction/Item.hbm.xml
Configuration cfg=new Configuration().addClass(org.hibernate.auction.Item.class)
3、 指定初始化属性
Configuration cfg=new Configuration().setProperty(“hibernate.dialect”,”org.hibernate.dialect.MySQLInnoDBDialect”);
其它初始化的方法
传递一个java.utl.properties 的实例
设置系统的属性
;
1.2获得JDBC连接
在你初始化最重要的jabc数据库链接属性后,你可以用org.hibernate.SessionFactory opensession的方法打开sessions
2、连接池
Hibernate内部的连接池是非常简单的,它是用来测试用的,用第三方的包可以保持有更好的表现和稳定性;要用第三方的连接池的属性取代hibernate内置的选择,禁用hibernate自己的连接池属性
2.1 c3p0连接池
C3p0是一个开源的数据库连接池,随着hibernate一起分发的,加入你设置了hibernate,c3p0,*的属性,
几个重要的数据库连接池属性
Hibernae.c3p0.min_size
Hibernate.c3p0.max_size
Hibernate.c3p0.timeout
Hibernate.c3p0.max_statements
2.2proxool连接池
Proxoo是另一个数据库连接池开源软件,与c3p0不同的是,proxool需要其它的配置参数
Property
Description
Hibernate.proxool.xml
初始化proxool需要
Hibernate.proxool.properties
Hibernate.proxool.existion_pool
Hibernate.proxool,pool_alias
- hibernate数据库访问(翻译文档)
- sqlite 数据库官方文档(翻译版)
- Titan数据库官方文档翻译(一)
- hibernate翻译文档(自己写的希望更正)
- 翻译 Hibernate 3.3.2 参考文档(一)
- Hibernate官方文档翻译-(第二章,入门)
- django 1.8 官方文档翻译: 2-6-4 数据库访问优化
- cleversafe数据库访问 hibernate
- 数据库访问 hibernate
- Hibernate数据库访问流程
- Hibernate访问数据库Demo
- hibernate访问数据库方式
- Hibernate学习英文文档翻译2
- Smack文档(翻译)
- Smack文档(翻译)
- Smack文档(翻译)
- Tolua++文档(翻译)
- MongoDB文档翻译-引言-数据库和集合
- 读书笔记12:观察者模式
- shell脚本学习好书推荐
- 项目管理模型总结---原型模型、迭代模型
- 函数调用习惯与回调函数
- JBI简介
- hibernate数据库访问(翻译文档)
- 内存泄漏是新手必然要经历的痛,NSMutableArray的正确使用(转载)
- Android开发工具——ADB(Android Debug Bridge) <一>概览
- Android 利用程序实现GPS的打开或关闭
- 翻页
- 衡量易操作数据存储(SOD)可扩展性能的十大准则(中)
- BPEL和WSDL关系
- 算法入门--堆排序2(建立最小堆,从大到小)
- 集合的排序