Hibernate核心配置 --- Hibernate入门学习之常见设置三部曲之三
Hibernate核心配置
首先,hibernate中核心配置文件有两种形式,一种是属性文件的方式另一种是XML文件形式,但一般情况下用的是XML文件形式进行配置的,因为属性文件方式不能引入映射文件(只能通过手动编写代码加载映射文件);
我们了解一下hibernate核心配置文件是干什么的,光用嘴说肯定是不行的,先看看整体的代码,通过代码解读得到其配置的目的和达到的功能,代码如下所示:
整体代码:
1 <hibernate-configuration> 2 <session-factory> 3 <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect 4 </property> 5 <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver 6 </property> 7 <property name="hibernate.connection.url">jdbc:mysql:///hibernate_day001 8 </property> 9 <property name="hibernate.connection.username">root</property> 10 <property name="hibernate.connection.password">root</property> 11 12 <property name="hibernate.hbm2ddl.auto">update</property> 13 14 <mapping resource="com/java/hibernate/demo1/Customer.hbm.xml"/> 15 </session-factory> 16 </hibernate-configuration>
代码标签以及属性介绍:
标签名 | 包含属性 | 属性值 | 标签设置值 | 备注 |
---|---|---|---|---|
hibernate-configuration | 暂无 | 暂无 | 暂无 | hibernate框架中核心配置主体 |
session-factory | 暂无 | 暂无 | 暂无 | session连接所要使用的配置;session工厂 |
property | name | hibernate.dialect | org.hibernate.dialect.MySQLDialect | 数据库方言(重要),这是其中那个一种,根据数据库版本、数据库类别进行相应匹配; |
property | name | hibernate.connection.driver_class | com.mysql.jdbc.Driver | 数据驱动类设置 |
property | name | hibernate.connection.url | jdbc:mysql:///hibernate_day001 | 数据库链接的URI(现在使用的是本地连接) |
property | name | hibernate.connection.username | XXX | 配置数据库用户名 |
property | name | hibernate.connection.password | XXX | 配置数据库用户密码 |
property | name | hibernate.hbm2ddl.auto | update(还有其他的下边介绍到) | 设置在数据库中无此表的时是自动创建还是其他操作 |
mapping | resource | com/java/hibernate/demo1/Customer.hbm.xml | 暂无 | 配置引入ORM源路径,加载映射文件 |
上面的就是hibernate框架中常用的几个标签以及属性,下面对标签进行使用程度划分以及大概的解释:
必须要配置
一、连接数据库的参数:
1. 驱动类:hibernate.connection.driver_class
2. url路径:hibernate.connection.url
3. 连接数据库的用户名:hibernate.connection.username
4. 连接数据库的密码:hibernate.connection.password
二、方言设置:hibernate.dialect
这个是负责配置使用哪种数据库进行数据库操作的,因为hibernate是面向对象的数据库操作,对各种数据库以及数据库版本都需要进行支持,因此需要配置方言进行数据库使用选择;此例中使用的是MySQL的;
以上五项是hibernate框架中核心配置所必需的;
可选配置
1. 在控制台上显示sql语句;hibernate.show_sql 标签值: true/false(显示/不显示)
2. 控制台上显示的sql语句是否格式化;hibernate.format_sql 标签值: true/false(格式化/不格式化)
3. 在操作的数据无此表的情况下;hibernate.hbm2ddl.auto
———–1)None:不自动创建表;
———–2)Create:无此表的情况下创建此表,若之前存在此表则先删除此表再进行创建(一般用于测试);
———–3)Create-drop:创建此表,若之前存在此表则先删除此表再进行创建,并在使用后删除此表(一般用于测试);
———–4)Update:如存在此表,则执行更新表结构操作,若是无此表则进行创建;
———–5)Validate:如无此表不进行操作,只会使用已存在的表,不做任何对表的修改,自带校验功能。(用于检测实体类与数据表映射和表结构)。一般经常用的就是update和validate;
4. 在核心配置中可以配置数据库连接池,hibernate中有自己的连接池,可以手动陪自己的,但是手动配置时需要导入相应的jar包,并且在配置后在编写代码的时候需要有手动关闭连接释放资源的代码;
特殊配置
1. 引入ORM源路径:mapping标签的resource属性,其属性值是要配置的映射文件的全路径(从src下到这个文件名称);
注意:property标签必须在mapping标签之上,也就是说配置信息必须加载完才能引入ORM源路径,才能和映射文件进行关联;
hibernate配置的作用:
通过上面的介绍后,我们不难看出,hibernate框架的核心配置文件的功能有这么几项:
1. 配置所用数据库的种类类型(方言)、数据库种类和版本号、数据库无表情况下的建表机制;
2. 引入ORM源路径,加载映射文件;
用代码看出其功能是这些,到后期会根据功能需求的增加会相应的增加设置;
Pass:Hibernate的核心配置入门中就这么多,其他的到后期才会用到,用到时在进行详细记录;