Hibernate——IntelliJ IDEA下自動生成Hibernate映射文件以及實體類

在這裏插入圖片描述

一、構建項目並添加項目結構配置以及配置初始參數

點擊File,彈出的菜單中點擊Project Structure;然後點擊左側的Modules,再點擊“+”號,再在彈出的菜單中選擇Hibernate;(如下圖)
在這裏插入圖片描述
在這時,項目中多出了一個Hibernate,點擊Hibernate,再點擊“+”號,選擇hibernate.hbm.xml;(如下圖)
在這裏插入圖片描述
彈出的窗口中選擇Hibernate的版本,然後點擊OK;點擊OK後在原來的窗口中的Apply按妞應用到項目,然後點擊OK;(如下圖)
在這裏插入圖片描述
這時項目架子中多出了一個名爲hibernate.hbm.xml的配置文件;然後填寫配置
在這裏插入圖片描述

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD//EN"
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <!--數據庫連接 url 的配置-->
        <property name="connection.url">jdbc:mysql:///db_hibernate</property>
        <!--數據庫驅動的配置-->
        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
        <!--數據庫用戶名的配置-->
        <property name="connection.username">root</property>
        <!--數據庫密碼的配置-->
        <property name="connection.password">lemon</property>
        <property name="hbm2ddl.auto">update</property>
    </session-factory>
</hibernate-configuration>

二、配置數據庫

點擊左下角按鈕,使窗口樣式如圖所示;然後點擊右邊的 Database
在這裏插入圖片描述
在彈出的窗口中,點擊 “+” -> Data Source -> 選擇 MySQL
在這裏插入圖片描述
配置數據庫信息,然後點擊 ”OK“ 即可!
在這裏插入圖片描述

三、生成Hibernate的實體類以及配置文件

點擊窗口中的Persistence;(大概在 IDEA 編輯器的右下角)
在這裏插入圖片描述
在Persistence中右鍵項目,然後點擊Generate Persistence Mapping,選擇By Database Schema;
在這裏插入圖片描述
選擇數據源,配置實體類包,選擇要生成的實體類(其中如果有日期類型的只能手動修改爲java.util.Date),然後點擊OK;
在這裏插入圖片描述
等待一段時間之後,發現項目中的實體類以及配置文件已經自動生成。
在這裏插入圖片描述
生成的實體類以及配置文件如下所示:
User.java

package cn.lemon;

import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import java.util.Objects;

@Entity
public class User {
    private int id;
    private String username;
    private String password;

    @Id
    @Column(name = "id_")
    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    @Basic
    @Column(name = "username_")
    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    @Basic
    @Column(name = "password_")
    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        User user = (User) o;
        return id == user.id &&
                Objects.equals(username, user.username) &&
                Objects.equals(password, user.password);
    }

    @Override
    public int hashCode() {
        return Objects.hash(id, username, password);
    }
}

User.hbm.xml

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

    <class name="cn.lemon.User" table="user" schema="db_hibernate">
        <id name="id" column="id_"/>
        <property name="username" column="username_"/>
        <property name="password" column="password_"/>
    </class>
</hibernate-mapping>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章