Hibernate簡單、快速上手
阿新 • • 發佈:2018-12-11
1. Hibernate-orm
Domain model persistence for relational databases |
Orm:Object relational mapping,物件對映關係,用於物件與關係型資料庫關聯對映框架。
2. 快速上手
2.1 步驟
建立資料庫表t_user
建立java物件User.java
新增jar包
建立對映檔案
建立hibernate核心配置檔案hibernate.cfg.xml
測試
2.2 建立資料庫表t_user
CREATE DATABASE hibernate_207 CHARSET `UTF8`; CREATE TABLE t_user( id INT(9) PRIMARY KEY AUTO_INCREMENT, uname VARCHAR(50) NOT NULL ); |
2.3 建立java物件User.java
2.4 新增jar
以及新增mysql-connection.jar
2.5 建立對映檔案
user.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"> <!-- package:java物件包路徑 --> <hibernate-mapping package="com.sxt.model"> <!-- 配置物件與table表關係 --> <class name="User" table="t_user"> <!-- 指定主鍵 name:表示java物件屬性名 column:table表中的欄位 --> <id name="id" column="id" type="integer"> <!-- 配置主鍵自增策略 --> <generator class="native"/> </id> <!-- 配置其他屬性與欄位關聯關係 --> <property name="uname" column="uname" type="string"/> </class> </hibernate-mapping>
2.6 建立hibernate核心配置檔案hibernate.cfg.xml
注意:還要安裝一個專門為hibernate開發的工具:
eclipse安裝步驟:
選擇add進行線上安裝,選擇archive從本地來選擇上面我們說那個zip工具包:
然後點選選擇:
依次點選下一步即可,裝完之後我們的配置檔案在寫的時候就會有智慧提醒。並且,我們在new的時候,可以專門去找hibernate.cfg.xm檔案,下一步會有圖形化選擇來讓我們填寫。
下面是我們核心配置檔案的具體內容:
<!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> <!-- 1.方言:指定資料庫型別 --> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <!-- 2.配置資料來源 --> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="connection.url">jdbc:mysql://localhost:3306/hibernate_207</property> <property name="connection.username">root</property> <property name="connection.password">111111</property> <!-- 列印sql --> <property name="show_sql">true</property> <!-- 3.載入對映檔案 --> <mapping resource="com/sxt/model/user.hbm.xml"/> </session-factory> </hibernate-configuration>
2.7 測試類
package com.sxt.test;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import com.sxt.model.User;
public class Helloworld {
public static void main(String[] args) {
//1.載入配置檔案
Configuration cfg = new Configuration();
cfg.configure("hibernate.cfg.xml");
//2.建立sessionFactory cfg.buildSessionFactory()已被廢棄
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(cfg.getProperties()).build();
SessionFactory sessionFactory = cfg.buildSessionFactory(serviceRegistry);
//3.開啟全新session
Session session = sessionFactory.openSession();
try {
//事務
Transaction ts = session.beginTransaction();
User user = new User();
user.setUname("bjsxt");
//新增資料
session.save(user);
//提交事務
ts.commit();
} catch (Exception e) {
}finally {
//關閉連線
if(session!=null){
session.close();
}
if(sessionFactory!=null){
sessionFactory.close();
}
}
}
}