用 Hibernate 第一次實現資料庫連線
阿新 • • 發佈:2019-01-28
我使用 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>