1. 程式人生 > >用 Hibernate 第一次實現資料庫連線

用 Hibernate 第一次實現資料庫連線

我使用 Eclipse Oxygen 作為開發工具,Radhat OpenJDK 作為 Java SE JDK ,資料庫 使用 MySQL 5.7。

OpenJDK 在 https://developers.redhat.com/products/openjdk/overview/ 下載。

Hibernate ORM 框架在 http://hibernate.org/orm/releases/5.2/ 下載。

匯入位於 hibernate/lib/required 下的 jar 包:


同時匯入 MySQL 的 JDBC 驅動 jar 包:


編寫核心配置檔案 hibernate.cfg.xml

<?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>
        <!--指定資料庫 JDBC 驅動 -->
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
        <!--指定資料庫 URL -->
        <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/yx_two</property>
        <!--指定資料庫的使用者名稱 -->
        <property name="hibernate.connection.username">root</property>
        <!--指定資料庫的密碼 -->
        <property name="hibernate.connection.password">949290</property>
        <!--指定資料庫方言 -->
        <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
        <!--在控制檯顯示執行的資料庫操作語句 -->
        <property name="hibernate.show_sql">true</property>
        <!--在控制檯顯示執行的資料庫操作語句(格式) -->
        <property name="hibernate.format_sql">true</property>
        <!--hibernate根據實體自動生成資料庫表 -->
        <property name="hibernate.hbm2ddl.auto">update</property>
        <!--引入對映檔案 -->
        <mapping resource="User.hbm.xml" />
    </session-factory>
</hibernate-configuration>

編寫實體類(持久化類)User.java

public class User {
    private int userId;
    private String username;
    private String password;
    private String nickname;
    public int getUserId() {
        return userId;
    }
    public void setUserId(int userId) {
        this.userId = userId;
    }
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public String getNickname() {
        return nickname;
    }
    public void setNickname(String nickname) {
        this.nickname = nickname;
    }

}

 編寫對映檔案 User.hbm.xml

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping>

    <class name="User" table="user" lazy="true">
        <!-- 設定主鍵 -->
        <id name="userId" column="userId">
            <!-- id生成策略 -->
            <generator class="native"/>
        </id>
        <!-- unique="true"唯一約束 -->
        <property name="username" column="username" unique="true"/>
        <property name="password" column="password"/>
        <property name="nickname" column="nickname"/>
    </class>

</hibernate-mapping>