hibernate.xml文件详解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

hibernate.xml⽂件详解
1 <!--标准的XML⽂件的起始⾏,version='1.0'表明XML的版本,encoding='gb2312'表明XML⽂件的编码⽅式-->
2 <?xml version='1.0' encoding='gb2312'?>
3 <!--表明解析本XML⽂件的DTD⽂档位置,DTD是Document Type Definition 的缩写,即⽂档类型的定义,XML解析器使⽤DTD⽂档来检查XML⽂件的合法性。

/hibernate-configuration-3.0dtd可以在Hibernate3.1
4 <!DOCTYPE hibernate-configuration PUBLIC
5"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
6"/hibernate-configuration-3.0.dtd">
7 <!--声明Hibernate配置⽂件的开始-->
8 <hibernate-configuration>
9 <!--表明以下的配置是针对session-factory配置的,SessionFactory是Hibernate中的⼀个类,这个类主要负责保存HIbernate的配置信息,以及对Session的操作-->
10 <session-factory>
11 <!--配置数据库的驱动程序,Hibernate在连接数据库时,需要⽤到数据库的驱动程序-->
12 <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver </property>
13 <!--设置数据库的连接url:jdbc:mysql://localhost/hibernate,其中localhost表⽰mysql服务器名称,此处为本机, hibernate是数据库名-->
14 <property name="hibernate.connection.url">jdbc:mysql://localhost/hibernate </hibernate>
15 <!--连接数据库是⽤户名-->
16 <property name="ername">root </property>
17 <!--连接数据库是密码-->
18 <property name="hibernate.connection.password">123456 </property>
19 <!--数据库连接池的⼤⼩-->
20 <property name="hibernate.connection.pool.size">20 </property>
21 <!--是否在后台显⽰Hibernate⽤到的SQL语句,开发时设置为true,便于差错,程序运⾏时可以在Eclipse的控制台显⽰Hibernate的执⾏Sql语句。

项⽬部署后可以设置为false,提⾼运⾏效率-->
22 <property name="hibernate.show_sql">true </property>
23 <!--jdbc.fetch_size是指Hibernate每次从数据库中取出并放到JDBC的Statement中的记录条数。

Fetch Size设的越⼤,读数据库的次数越少,速度越快,Fetch Size越⼩,读数据库的次数越多,速度越慢-->
24 <property name="jdbc.fetch_size">50 </property>
25 <!--jdbc.batch_size是指Hibernate批量插⼊,删除和更新时每次操作的记录数。

Batch Size越⼤,批量操作的向数据库发送Sql的次数越少,速度就越快,同样耗⽤内存就越⼤-->
26 <property name="jdbc.batch_size">23 </property>
27 <!e_scrollable_resultset是否允许Hibernate⽤JDBC的可滚动的结果集。

对分页的结果集。

对分页时的设置⾮常有帮助-->
28 <property name="e_scrollable_resultset">false </property>
29 <!eUnicode连接数据库时是否使⽤Unicode编码-->
30 <property name="eUnicode">true </property>
31 <!--connection.characterEncoding连接数据库时数据的传输字符集编码⽅式,最好设置为gbk,⽤gb2312有的字符不全-->
32 <property name="connection.characterEncoding">gbk </property>
33
34 <!--hibernate.dialect 只是Hibernate使⽤的数据库⽅⾔,就是要⽤Hibernate连接那种类型的数据库服务器。

-->
35 <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect </property>
36 <!--指定映射⽂件为“hibernate/ch1/UserInfo.hbm.xml”-->
37 <mapping resource="org/mxg/UserInfo.hbm.xml">
38 </session-factory>
39 </hibernate-configuration>
40
41
42
43 <bean id="dataSource"
44class="mons.dbcp.BasicDataSource"
45 destroy-method="close">
46//连接驱动
47 <property name="driverClassName" value="${jdbc.driverClassName}" />
48//连接url,
49 <property name="url" value="${jdbc.url}" />
50//连接⽤户名
51 <property name="username" value="${ername}" />
52//连接密码
53 <property name="password" value="${jdbc.password}" />
54 </bean>
55
56 <bean id="hbSessionFactory"
57class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
58 <property name="dataSource"ref="dataSource" />
59 <property name="configLocation">
60//hibernate配置⽂件位置
61 <value>WEB-INF/hibernate.cfg.xml </value>
62 </property>
63 <property name="configurationClass"
64 value="org.hibernate.cfg.AnnotationConfiguration" />
65 <property name="hibernateProperties">
66 <props>
67//针对oracle数据库的⽅⾔,特定的关系数据库⽣成优化的SQL
68 <prop key="hibernate.dialect">
69 org.hibernate.dialect.OracleDialect
70 </prop>
71//选择HQL解析器的实现
72 <prop key="hibernate.query.factory_class">
73 org.hibernate.hql.ast.ASTQueryTranslatorFactory
74 </prop>
75//是否在控制台打印sql语句
76 <prop key="hibernate.show_sql">true </prop>
77//在Hibernate系统参数中e_outer_join被打开的情况下,该参数⽤来允许使⽤outer join来载⼊此集合的数据。

78 <prop key="e_outer_join">true </prop>
79//默认打开,启⽤cglib反射优化。

cglib是⽤来在Hibernate中动态⽣成PO字节码的,打开优化可以加快字节码构造的速度
80 <prop key="e_reflection_optimizer">true </prop>
81//输出格式化后的sql,更⽅便查看
82 <prop key="hibernate.format_sql">true </prop>
83//“useUnicode”和“characterEncoding”决定了它是否在客户端和服务器端传输过程中进⾏Encode,以及如何进⾏Encode
84 <prop key="eUnicode">true </prop>
85//允许查询缓存, 个别查询仍然需要被设置为可缓存的.
86 <prop key="e_query_cache">false </prop>
87 <prop key="hibernate.default_batch_fetch_size">16 </prop>
88//连接池的最⼤活动个数
89 <prop key="hibernate.dbcp.maxActive">100 </prop>
90//当连接池中的连接已经被耗尽的时候,DBCP将怎样处理(0 = 失败,1 = 等待,2 = 增长)
91 <prop key="hibernate.dbcp.whenExhaustedAction">1 </prop>
92//最⼤等待时间
93 <prop key="hibernate.dbcp.maxWait">1200 </prop>
94//没有⼈⽤连接的时候,最⼤闲置的连接个数
95 <prop key="hibernate.dbcp.maxIdle">10 </prop>
96 ##以下是对prepared statement的处理,同上。

97 <prop key="hibernate.dbcp.ps.maxActive">100 </prop>
98 <prop key="hibernate.dbcp.ps.whenExhaustedAction">1 </prop>
99 <prop key="hibernate.dbcp.ps.maxWait">1200 </prop>
100 <prop key="hibernate.dbcp.ps.maxIdle">10 </prop>
101 </props>
102 </property>
103 </bean>。

相关文档
最新文档