专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

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

一、orm元数据配置:

位置在实体类的包中:

96_1.png

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

<?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、中的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>

  在没有在中定义属性package的时候,每次在调用Student类的时候都需要写完整的类的路径,但是在中设置了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目录下:

96_2.png

一个完整的主配置文件:

<?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的显示更加美观。

96_3.png

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

  



文章永久链接:https://tech.souyunku.com/23169

未经允许不得转载:搜云库技术团队 » hibernate的配置文件(ORM元数据配置、主配置文件)

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们