Hibernet之hibernate.cfg.xml

hibernet配置文件

头部 与 尾部

固定写法:

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<!--中间部分-->

</hibernate-configuration>

--------------------------------------

<!-- 一个sessionFactory代表数据库的一个连接-->
    <session-factory>
        <!-- 链接数据库的用户名 -->
        <property name="connection.username">****</property>
        <!-- 链接数据库的密码 -->
        <property name="connection.password">****</property>
        <!-- 链接数据库的驱动 -->
        <property name="connection.driver_class">
            com.mysql.jdbc.Driver
        </property>
        <!-- 链接数据库的url -->
        <property name="connection.url">
            jdbc:mysql://localhost:3306/数据库名称
        </property>
        <!--
            方言 告诉hibernate使用什么样的数据库,hibernate就会在底层拼接什么样的sql语句
        -->
        <property name="dialect">
            org.hibernate.dialect.MySQLDialect
        </property>
        <property name="hbm2ddl.auto">update</property>

  <!--是否展示生成的SQL语句-->
        <property name="show_sql">true</property>

  <!-- 持久化类的映射信息-->
        <mapping    resource="*.hbm.xml" />
    </session-factory>

--------------------------------------

hbm2ddl.auto属性

根据持久化类生成表的策略:一共有四种方式“validate\update\create\create-drop”

validate:根据映射文件检查持久化类和表之间是否匹配;

update:每次hibernet启动的时候,检查数据库表是否存在,如果存在则什么也不处理,如果不存在则建立新表;

思考一:如果表在数据库中已经生成,但是持久化类的属性信息改变,使用此属性是否能变更表,一会验证!

经过验证是可以的;

create:每次hibernet启动的时候,都会根据持久化类生成新表;

create-drop:每次hibernet启动的时候,都会根据持久化类生成新表,当hibernet关闭的时候,都会删除生成的新表;

--------------------------------------

hibernate.cfg.xml主要用途

告诉hibernet链接数据库的信息,包括用什么方言拼接sql语句,用什么样的策略根据持久化类来生成数据库中的表;

 

posted @ 2016-07-17 10:30  secondAnt  阅读(577)  评论(0)    收藏  举报