Hibernate的使用

Hibernate

映射文件保存为Event.hbm.xml,且就在EventJava类的源文件目录下。映射文件可随意地命名,但hbm.xml的后缀已成为Hibernate开发者社区的约定。

hibernate.cfg.xml:

<?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>

<session-factory>
    <!--配置数据库基本信息-->
    <property name="connection.username">root</property>
    <property name="connection.password">mysqladmin</property>
    <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
    <property name="connection.url">jdbc:mysql://localhost/hibernatedb</property>

    <!--配置hibernate基本信息-->
    <!--配置链接的数据库类型-->
    <property name="dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
    <!--是否打印sql语句-->
    <property name="show_sql">true</property>
    <!--是否对sql语句进行格式化-->
    <property name="format_sql">true</property>
    <!--指定自动生成数据表-->
    <property name="hbm2ddl.auto">update</property>

    <!--映射持续化类-->
    <mapping resource="mao/shu/vo/News.hbm.xml"/>        // 对象-关系映射文件
</session-factory>
</hibernate-configuration>

.hbm.xml:对象-关系映射文件,表示映射到数据库中的数据表

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<!--设置java类和数据表的映射关系-->
<hibernate-mapping package="mao.shu.vo">
    <!--对应的类名称-->
    <class name="News" table="News" dynamic-insert="true">
        <!--配置主键-->
        <id name="id" type="java.lang.Integer">
            <column name="ID"/><!--生成的数据列名称-->
            <generator class="native"/><!--使用数据库本地的方式创建主键-->
        </id>

        <!--设置类中的属性和数据表对应的字段的映射-->
        <property name="title" not-null="true" index="news_index" length="200" type="java.lang.String" column="TITLE">
        </property>
        <property name="info" not-null="true" type="text" column="INFO">
        </property>
        <property name="pubDate" not-null="true"  type="java.sql.Date" column="PUBDATE">
        </property>
        <property name="price" not-null="true"  type="java.lang.Double" column="PRICE">
        </property>
    </class>
</hibernate-mapping>

SpringBoot使用Hibernate的增删查改

spring boot集成hibernate的详细介绍

  1. 导入依赖:

    <!--JDBC相关依赖-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-jdbc</artifactId>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency>
    <!--jpa相关依赖-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    
  2. 编写持久层,持久层什么都不用做,创建一个接口继承JpaRepository或CrudRepository,有两种实现方式分别是JpaRepository、CrudRepository

上一篇:《用友ERP-U8(V8.72)模拟实战----财务、供应链和生产制造》一1.3 安装用友ERP-U8(V8.72)软件


下一篇:hibernate(四)之乐观锁与悲观锁