Hibernate主配置文件的名称名称可以任意的,但一般使用: hibernate.cfg.xml; 主配置放在src下。
下面是主配置文件的相关配置:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!--配置一:数据库连接信息 -->
<!-- 数据库驱动 -->
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<!-- 数据库URL -->
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/db?characterEncoding=utf8</property>
<!--数据库用户名, -->
<property name="hibernate.connection.username">root</property>
<!--数据库密码 -->
<property name="hibernate.connection.password"></property>
<!--配置二:数据库方言配置,配置数据库方言的作用是屏蔽数据库的差异,换句话说是使hibernate框架知道 要与哪种数据库取得联系(可以省略,但建议配置) -->
<property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
<!--配置三:其它配置 (这些配置可选) -->
<!-- 是否在控制台显示sql语句 -->
<property name="hibernate.show_sql">true</property>
<!--是否格式化删除sql语句 -->
<property name="hibernate.format_sql">true</property>
<!-- 自动生成数据表(数据表的生成方式) -->
<property name="hbm2ddl.auto">update</property>
<!-- 将session绑定到当前线程 -->
<property name="hibernate.current_session_context_class">thread</property>
<!-- 设置事务的隔离级别 -->
<property name="hibernate.connection.isolation">4</property>
<!-- 配置四:映射配置 -->
<mapping resource="cn/sz/entity/Dept.hbm.xml" />
<!-- 基于注解的配置方式 -->
<mapping class="cn.sz.entity.Dept" />
</session-factory>
</hibernate-configuration>
注:自动建表知识点补充
<property name="hbm2ddl.auto">update</property>
该属性值有四个
create:先删除数据表然后再创建表
update:表不存在就创建,内容不一样就更新
create-drop:初始化时创建数据表(每次加载主配置文件时生成表),sessionfactory close时删除
validate:验证表结构是否一致(每次加载hibernate时,验证创建数据库表结构,只会和数据库中的表进行比较,不会创建新表,但是会插入新值)