hibernate.cfg.xml浅析

hibernate.cfg.xml配置文件不但定义了连接各种数据库所需要的参数,而且还定义了程序中用到的映射文件。一般把它作为Hibernate5的默认配置文件。
hibernate.cfg.xml配置文件的详细结构如下所示:

<!-- 指定解析本XML文件的DTD文件位置,XML解析器使用DTD文档来检查XML文件的合法性 -->
<!DOCTYPE hibernate-configuration PUBLIC
	"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
	"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
	<!-- Hibernate配置文件的根元素,其他元素应在其中 -->
	<hibernate-configuration>
		<!-- 设置初始化Hibernate5参数的元素,其中指定HIbernate5初始化参数,
			表明以下的配置是针对session-factory配置,SessionFactory是Hibernate5中的一个接口
			这个接口主要负责保存Hibernate5的配置信息以及对Session的操作 -->
		<session-factory>
			<!-- 设置连接数据库所用的驱动 -->
			<property name="hibernate.connection.driver_class">
				com.mysql.jdbc.Driver
			</property>	
			<!-- 设置数据库连接使用的URL,test是数据库名,即要连接的数据库名-->
			<property name="hibernate.connection.url">
				jdbc:mysql://127.0.0.1:3306/test
			</property>
			<!-- 设置数据库的用户名 -->
			<property name="hibernate.connection.username">root</property>
			<!-- 设置数据库的密码 -->
			<property name="hibernate.connection.password">hjw19990825</property>
			<!-- 设置数据库的方言,每种数据库都有对应的方言 -->
			<property name="hibernate.dialect">
				org.hibernate.dialect.MySQL5Dialect
			</property>
			<!-- 设置连接池中的最小连接数 -->
			<property name="hibernate.c3p0.min_size">10</property>
			<!-- 设置连接池中的最大连接数 -->
			<property name="hibernate.c3p0.max_size">50</property>
			<!-- 设置连接池中某个数据库访问超时时间,超时将被移除,即最大时间 -->
			<property name="hibernate.c3p0.timeout">120</property>
			<!-- 设置时间范围内检查所有连接的空闲时间并销毁超时的连接 -->
			<property name="hibernate.c3p0.idle_test_period">3000</property>
			<!-- 设置当连接池中的连接耗尽的时候,一次同时获取的连接数 -->
			<property name="acquireIncrement">5</property>
			<!-- 设置在从数据库获取新连接失败后重复尝试的次数 -->
			<property name="acquireRetryAttempts">30</property>
			<!-- 设置两次连接中间隔时间,单位为毫秒 -->
			<property name="acquireRettryDelay">1000</property>
			<!-- 连接关闭时默认将所有未提交的操作回滚 -->
			<property name="autoCommitOnClose">false</property>
			<!-- 设置session上下文,thread表示,当前thread中取到session保证是同一个session -->
			<property name="current_session_content_class">thread</property>
			<!-- 根据需要自动创建数据表 -->
			<property name="binernate.hbm2ddl.auto">update</property>
			<!-- 设置是否将Hibernate5发送给数据库的SQL语句,有助于迅速解决问题 -->
			<property name="hibernate.format_sql">true</property>
			<!-- 格式化显示执行的SQL语句 -->
			<property name="hibernate.format_sql">true</property>
			<!-- 开启二级缓存 -->
			<property name="hibernate.cache.use_second_level_cache">
			true
			</property>
			<!-- 指定使用哪一个缓存文件 -->
			<property name="hibernate.cache.region.factory_class">
				org.hibernate.cache.ehcache.EhCacheRegionFactory
			</property>
			<!-- 开启查询缓存 -->
			<property name="hibernate.cache.use_query_cache">true</property>
			<property name="hibernate.jdbc.fetch_size">30</property>
			<property name="hibernate.jdbc.batch_size">5</property>
			<!-- 指定哪些类要加入二级缓存 -->
			<class-cache usage="read-write" class="reflect_one_many.Major"/>
			<class-cache usage="read-write" class="reflect_one_many.Student"/>
			<!-- 加入映射文件,可以加入多个映射文件 -->
			<mapping resource="PO/UserInfoPO.hbm.xml"/>
		</session-factory>
	</hibernate-configuration>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值