一、構建項目並添加項目結構配置以及配置初始參數
點擊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>