Hibernate_01_配置文件

Hibernate 配置文件(此内容用于新手上路)

  Hibernate配置文件支持两种形式,一种是XML格式的配置文件,另一种是Java属性文件格式的配置文件,采用“键值”的形式。建议采用XML格式的配置文件。XML配置文件可以直接巴对映射文件进行配置,并由Hibernate自动加载,而properties文件则必须在程序中通过编码加载映射文件。Hibernate给人的感受是灵活的,要达到同一个目的,可以任选其一使用。 

  方法1、在hibernate.cfg.xml中加入元素<property>,<mapping>,放置在类路径(classpath)的根目录下。

      注意:(创建hibernate.cfg.xml时,名字一定要相同不然的话,会报错)

  方法2、创建Java属性文件格式的配置文件,将hibernate.properties放置放 在类路径的根目录下。  

 

1.创建XML格式的配置文件(oracle)

  1,配置hibernate.cfg.xml

<?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>
        <!-- 首先设定jdbc链接相关的信息(驱动,url,用户名,密码) -->
        <property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
     <!-- --> <property name="connection.url">jdbc:oracle:thin:@localhost:1521:orcl</property> <property name="connection.username">scott</property> <property name="connection.password">111222</property> <!-- 设定方言 --> <property name="dialect">org.hibernate.dialect.Oracle10gDialect</property> <!-- 设定让hibernate帮我们自动创建表--> <!-- create: 每次加载hibernate时都会删除上一次的生成的表,然后根据你的model类再重新来生成新表,哪怕两次没有任何改变也要这样执行,这就是导致数据 库表数据丢失的一个重要原因。 create-drop : 每次加载hibernate时根据model类生成表,但是sessionFactory一关闭,表就自动删除。 update:最常用的属性,第一次加载hibernate时根据model类会自动建立起表的结构(前提是先建立好数据库),以后加载hibernate时根据 model类 自动更新表结构,即使表结构改变了但表中的行仍然存在不会删除以前的行。要注意的是当部署到服务器后,表结构是不会被马上建立起来的,是要等应用第 一次运行起来后才会。 validate : 每次加载hibernate时,验证创建数据库表结构,只会和数据库中的表进行比较,不会创建新表,但是会插入新值。 --> <property name="hbm2ddl.auto">create</property> <!--注意了 show_sql 和 format_sql 一齐 ,不然的话sql语句不会输出-->
    <!-- 显示sql语句--> <property name="show_sql">true</property> <!-- 优化查看sql语句 --> <property name="format_sql">true</property> <!-- 写映射文件XXX.xml的路径 --> <mapping resource="entity/StudentMapper.xml" /> </session-factory> </hibernate-configuration>

 

    2,创建实体类

 

 

package entity;

public class Student {
    private String sno;
    private String sname;
    public String getSno() {
        return sno;
    }
    public void setSno(String sno) {
        this.sno = sno;
    }
    public String getSname() {
        return sname;
    }
    public void setSname(String sname) {
        this.sname = sname;
    }
}

  3.创建映射文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
        
<!-- package="实体类的路径"--> <hibernate-mapping package="entity">
     <!-- name="实体名" table="创建的表名"--> <class name="Student" table="students"> <!-- identity:递增 sequence:序列 <param name="sequence">序列名</param> native:由底层方言产生 assigned:用户自定义id foreign:用于一对一关系共享主键时,两个id值一样 。。。。。 -->
        <!-- name="属性" column="列名" 注:不写column,会列名会默认是属性名--> <id name="sno" > <generator class="assigned"></generator> </id> <property name="sname" column="name"></property> </class> </hibernate-mapping>

  (未完)

posted @ 2017-08-09 19:49  梁卓章  阅读(126)  评论(0)    收藏  举报