Hibernate学习(2)- hibernate.cfg.xml详解

时间:2023-03-09 00:32:18
Hibernate学习(2)-   hibernate.cfg.xml详解

1:主配置文件主要分为三部分:
    注意:通常情况下,一个session-factory节点代表一个数据库;
    1.1:第一部分
       数据库连接部分,注意"hibernate.connection.driver_class"中间的 _;
    1.2:第二部分
       其他相关配置,包含打印sql语句,格式化sql语句,创建数据表或者更新数据表等等
    1.3:第三部分
       加载所有的映射;

<!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="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost:3306/hibernate_test</property>
<property name="connection.username">json</property>
<property name="connection.password">123456</property> <!-- 第二部分:其他相关配置 -->
<!-- 数据库方言 - 配置hibernate方言,可针对特定的数据库优化。 -->
<property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>
<!-- 是否在运行时候sql语句输出到控制台,编码阶段便于测试的。(默认设置为true)-->
<property name="show_sql">true</property>
<!-- 输出在控制台sql语句是否进行格式化,便于阅读。(默认设置为true) -->
<property name="format_sql">true</property>
<!--
可帮助由java代码生成数据库脚本,进而生成具体表结构。如:create/update/create-drop/validate
create: 每次都重新建表,原来的表删除,同时数据全部清楚重新插入数据。(每次加载hibernate,重新创建数据库表结构,这就是导致数据库表数据丢失的原因。)
create-drop: 每次在创建sessionFactory时执行创建表,当调用sessionFactory的close方法的时候,删除表 (在实际项目中不用)
update: 只是根据映射文件去和数据库中的表对应起来,如果不一致,就更新表的结构
validate: 加载hibernate时,验证创建数据库表结构,如果是不同的话则不创建表。 PS:
1.请慎重使用 hbm2ddl.auto 此参数,没必要就不要随便用。
2.如果发现数据库表丢失,请检查hibernate.hbm2ddl.auto的配置
-->
<property name="hbm2ddl.auto">update</property> <!-- 第三部分:加载所有的映射(*.hbm.xml) -->
<mapping resource="com/demo/pojo/User.hbm.xml"></mapping>
</session-factory>
</hibernate-configuration>

PS:源码地址   https://github.com/JsonShare/hibernate-demo

PS:原文地址  http://www.cnblogs.com/JsonShare/p/8647559.html