2.Hibernate核心配置文件(hibernate.cfg.xml)

目录


Hibernate专栏目录(点击进入…)



Hibernate核心配置文件(hibernate.cfg.xml)

在工程目录下添加Hibernate配置文件(可在project\etc目录下找到示例文件),默认文件名为“hibernate.cfg.xml”,该文件需要配置数据库连接信息和Hibernate的参数

// 加载默认配置文件
Configuration config = new Configuration().configure();
// 加载指定配置文件
Configuration config  = new Configuration().configure("hibernateCopy.cfg.xml"); 

注意:hibernate默认加载的文件hibernate.cfg.xml


专业术语

SQL (Structured Query Language):结构化查询语言
HQL (Hibernate Query Language):查询语言


基本结构

<!-- 根节点 -->
<hibernate-configuration>
	<!-- 节点内包含所有会话的有关设置 -->
	<session-factory>
		<!-- 设置会话的中的不同属性 -->
		<property name=””></property>
		<!-- 导入映射文件 -->
		<mapping resource=””/>
	</session-factory>
</hibernate-configuration>

property元素的name值

注意:前置hibernate.可以省略

property元素的name值描述
connection.driver_class数据库驱动
connection.url数据库URL
connection.username数据库用户名
connection.password数据库用户密码
dialect用于配置Hibernate使用的数据库类型。Hibernate支持几乎所有的主流数据库(方言)
current_session_context_classorg.hibernate.context.CurrentSessionContext.currentSession()方法得到的Session由谁跟踪管理。thread指Session由当前执行的线程来跟踪管理
hbm2ddl.auto配置创建表的类型
create每次启动都会新建一个表
update有表就更新,没表就创建
create-drop新建之后,完毕后会删除,一般用于测试
validate验证
show_sql设置为true,则程序运行时在控制台输出SQL语句
format_sql设置为true,则程序运行时在控制台输出格式化后的SQL语句
connection.characterEncoding连接数据库时数据的传输字符集编码方式,最好设置为gbk
connection.useUnicode连接数据库时是否使用Unicode编码
connection.pool.size数据库连接池的大小
jdbc.batch_size指Hibernate批量插入,删除和更新时每次操作的记录数。Batch Size越大,批量操作的向数据库发送Sql的次数越少,速度就越快,同样耗用内存就越大
jdbc.fetch_size指Hibernate每次从数据库中取出并放到JDBC的Statement中的记录条数。FetchSize设的越大,读数据库的次数越少,速度越快。Fetch Size越小,读数据库的次数越多,速度越慢
use_scrollable_resultset是否允许Hibernate用JDBC的可滚动的结果集。对分页的结果集。对分页时的设置;非常有帮助

方言(dialect)

实现HQL语句向不同数据库的SQL语句转换时,解决不同数据库之间的差异而制定的一套”规范” 。

举例来说:在MySQL数据库里进行分页查询,只需使用limit关键字就可以了;而标准SQL并不支持limit关键字,例如Oracle则需要使用行内视图的方式来进行分页。同样的应用程序,当在不同数据库之间迁移时,底层数据库的访问细节会发生改变,而Hibernate也为这种改变做好了准备,需要做的就是:告诉Hibernate应用程序的底层即将使用哪种数据库——这就是Hibernate方言

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

未禾

您的支持是我最宝贵的财富!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值