hibernate的配置文件(ORM元数据配置、主配置文件)

摘要:
DOCTYPEhibernate mappingPUBLIC“-//休眠/休眠映射DTD3.0//EN”“”http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd“˃1。<hibernate mapping>中的包属性:<hibernate map><classname=“pers.zhb.domain.Student”table=“Student”><idname=“studentno”column=“Student诺”><generatorclass=“”native“˃˂/id><propertyname=“birthday”column=“birthy”>˂/property>当<hibernate mapping>中未定义属性包时,每次调用Student类时都需要写入完整的类路径,但在<hibernate map>中设置包属性后,就避免了每次写入完整路径的麻烦。II.主配置文件:位于src目录中:完整的主配置文件文件:˂?

一、orm元数据配置:

位置在实体类的包中:

hibernate的配置文件(ORM元数据配置、主配置文件)第1张

 一个关于学生表和学生实体的一对一映射文件的配置:

<?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">
<hibernate-mapping package="pers.zhb.domain">
    <class name="Student" table="student">
        <id name="studentno" column="studentno">
            <generator class="native"></generator>
        </id>
        <property name="birthday" column="birthday"></property>
        <property name="classno" column="classno"></property>
        <property name="email" column="email"></property>
        <property name="phone" column="phone"></property>
        <property name="sex" column="sex"></property>
        <property name="sname" column="sname"></property>
        <property name="point" column="point"></property>
    </class>
</hibernate-mapping>

1、<hibernate-mapping>中的package属性:

<hibernate-mapping>
    <class name="pers.zhb.domain.Student" table="student">
        <id name="studentno" column="studentno">
            <generator class="native"></generator>
        </id>
        <property name="birthday" column="birthday"></property>
        <property name="classno" column="classno"></property>
        <property name="email" column="email"></property>
        <property name="phone" column="phone"></property>
        <property name="sex" column="sex"></property>
        <property name="sname" column="sname"></property>
        <property name="point" column="point"></property>
    </class>
</hibernate-mapping>

  在没有在<hibernate-mapping>中定义属性package的时候,每次在调用Student类的时候都需要写完整的类的路径,但是在<hibernate-mapping>中设置了package属性后,就避免了每次书写完整路径的麻烦。

<hibernate-mapping package="pers.zhb.domain">
    <class name="Student" table="student">
        <id name="studentno" column="studentno">
            <generator class="native"></generator>
        </id>
        <property name="birthday" column="birthday"></property>
        <property name="classno" column="classno"></property>
        <property name="email" column="email"></property>
        <property name="phone" column="phone"></property>
        <property name="sex" column="sex"></property>
        <property name="sname" column="sname"></property>
        <property name="point" column="point"></property>
    </class>
</hibernate-mapping>

2、class层:

(1)<generator>属性,指定对应的主键生成策略。
<id name="studentno" column="studentno">
            <generator class="native"></generator>
        </id>
(2)<property>属性:
除id之外的其他属性映射。
 <property name="birthday" column="birthday"></property>
        <property name="classno" column="classno"></property>
        <property name="email" column="email"></property>
        <property name="phone" column="phone"></property>
        <property name="sex" column="sex"></property>
        <property name="sname" column="sname"></property>
        <property name="point" column="point"></property>

二、主配置文件:

位置在src目录下:

hibernate的配置文件(ORM元数据配置、主配置文件)第2张

 一个完整的主配置文件:

<?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>
        <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/stu_mangement</property>
        <property name="hibernate.connection.username">root</property>
        <property name="hibernate.connection.password">root</property>
        <!--配置hibernate信息-可选的-->
        <property name="hibernate.show_sql">true</property><!--输出底层sql语句-->
        <property name="hibernate.format_sql">true</property><!--格式化输出sql语句-->
        <property name="hibernate.hbm2ddl.auto">update</property><!--hibernate帮助创建表,如果已经有表更新表,
        如果没有则创建新表-->
        <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
        <!--配置数据库的方言,让hibernate识别框架自己的特有语句-->
        <!--把映射文件放到核心配置文件-->
        <mapping resource="pers/zhb/domain/Student.hbm.xml"/><!--都在src目录下-->
    </session-factory>
</hibernate-configuration>

 1、必选配置5个:

        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/stu_mangement</property>
        <property name="hibernate.connection.username">root</property>
        <property name="hibernate.connection.password">root</property>
        <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>

前四个属性主要是对数据库的连接进行配置,与JDBC中的属性是完全相同的,即:数据库驱动、url、用户名、密码。

其中数据库方言的配置是为了让hibernate在生成sql语句的时候根据特定的数据库的方言来生成,因为有一些语句为本数据库所特有。

2、可选的3个:

        <property name="hibernate.show_sql">true</property><!--输出底层sql语句-->
        <property name="hibernate.format_sql">true</property><!--格式化输出sql语句-->
        <property name="hibernate.hbm2ddl.auto">update</property><!--hibernate帮助创建表,如果已经有表更新表,
        如果没有则创建新表-->

第一条配置文件可以在控制台输出sql,在第二条配置文件的帮助下可以让输出的sql语句格式化,使sql的显示更加美观。

hibernate的配置文件(ORM元数据配置、主配置文件)第3张

 第三条配置文件可以在数据库中没有表的时候创建表,在已经有该表的时候更新表。

  

 
 

免责声明:文章转载自《hibernate的配置文件(ORM元数据配置、主配置文件)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇梯度jenkins集成sonarQube实现代码质量检查下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

java之元数据(metadata)

什么是元数据?   元数据是指用来描述数据的数据,更通俗一点,就是描述代码间关系,或者代码与其他资源(例如数据库表)之间内在联系的数据。在一些技术框架,如struts、EJB、hibernate就不知不觉用到了元数据。对struts来说,元数据指的是struts-config.xml;对EJB来说,就是ejb-jar.xml和厂商自定义的xml文件;对hi...

初始化数据库和导入数据

在Spring Boot应用的测试一文中,我们在StarterRunner类的run(...)方法中给数据库中添加一些初始数据。尽管通过编程方式添加初始数据比较快捷方便,但长期来看这并不是一个好办法——特别是当需要添加的数据量很大时。我们开发最好把数据库准备、数据库修改和数据库的配置与将要运行的程序代码分离,尽管这仅仅是为测试用例做准备。Spring...

吉特仓库管理系统-ORM框架的使用

最近在园子里面连续看到几篇关于ORM的文章,其中有两个印象比较深刻<<SqliteSugar>>,另外一篇文章是<<我的开发框架之ORM框架>>, 第一个做的ORM是相当的不错的,第二个也是相当的不错, 至少在表面上看起来是这么一回事。至于具体的用法和实践我没有深入的去测试过,所以也不便发表更多的意见,不过这...

Java高并发,如何解决,什么方式解决

  对于我们开发的网站,如果网站的访问量非常大的话,那么我们就需要考虑相关的并发访问问题了。而并发问题是绝大部分的程序员头疼的问题,但话又说回来了,既然逃避不掉, 那我们就坦然面对吧~今天就让我们一起来研究一下常见的并发和同步吧。   为了更好的理解并发和同步,我们需要先明白两个重要的概念:同步和异步    1、同步和异步的区别和联系    所谓同步,可以...

visual studio 2017使用NHibernate4.0连接oracle11g数据库

   之前一直是公司用NHibernate2.1来做项目,连接oracle 10g的数据库,配置NHibernate的东西都是以前的同事做好了的,也怪自己太懒了,没尝试过配置这个东西,虽然一直在使用NHibernate做项目,前几天突然有想法想用NHibernate自己做一个项目,才发现配置一个NHibernate并没有想象中的简单,前前后后大概花了五天时...

Hibernate 入门

Hibernate  入门 1. 什么是hibernate ORM框架/持久层框架 jdbc的一个框架 object reference mapping 通过管理对象来改变数据库中的数据 通过管理对象来操作数据库 mybatis 优势:跨数据库的无缝移植 2. 如何在项目中添加hibernate支持(手动添加) 在pom.xml添加hibernate相关...