Hibernate的配置详解
Hibernate中我们使用时主要有两种配置文件
核心配置文件 hibernate.cfg.xml
对于hibernate的核心配置文件它有两种方式:
1. hibernate.cfg.xml
2. hibernate.properties
我们在开发中使用比较多的是hibernate.cfg.xml这种方式,原因它的配置能力更强,易于修改我们主要讲解的是hibernate.cfg.xml配置
- 可以加载数据库相关信息
<!-- 配置关于数据库连接的四个项 driverClass url username password -->
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql:///hibernateTest</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">abc</property>
2.hibernate相关配置
<!-- 可以将向数据库发送的sql显示出来 -->
<property name="hibernate.show_sql">true</property>
<!-- 格式化sql -->
<property name="hibernate.format_sql">true</property>
<!-- hibernate的方言 -->
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
3.加载映射配置文件
<!-- 配置hibernate的映射文件所在位置 -->
<mapping resource="cn/nwtxxb/domain/Customer.hbm.xml" />
对于hibernate.cfg.xml配置文件中的内容可以参考hibernate/project/etc/hibernate.properties的配置
配置这个属性后,我们可以进行表的自动创建
Create-drop 每次都会创建一个新的表,执行完成后删除。一般在测试中使用
Create 每次都会创建一个新的表,一般是在测试中使用
update 如果数据库中有表,不创建,没有表创建,如果映射不匹配,会自动更新表结构(只能添加)
validate 只会使用存在的表,并且会对映射关系进行校验.
映射配置文件 xxx.hbm.xml
映射配置文件它的名称是类名.hbm.xml,它一般放置在实体类所在的包下。
这个配置文件的主要作用是建立表与类的映射关系。
1.统一声明包名,这样在< class>中就不需要写类的全名.
<hibernate-mapping package="cn.nwtxxb.domain">
2.关于< class>标签配置
name属性:类的全名称
table 表的名称,可以省略,这时表的名称就与类名一致
catalog属性:数据库名称 可以省略.如果省略,参考核心配置文件中url路径中的库名称
3. 关于< id>标签
首先它必须存在。< id>是用于建立类中的属性与表中的主键映射。
name 类中的属性名称
column 表中的主键名称 column它也可以省略,这时列名就与类中属性名称一致
length 字段长度
type属性 指定类型< generator>它主要是描述主键生成策略.
4. 关于< property>标签
它是描述类中属性与表中非主键的映射关系关于hibernate的映射文件中类型问题
对于type属性它的取值,可以有三种:
1. java中的数据类型
2. hibernate中的数据类型
3. SQL的数据类型
默认是hibernate中数据类型。