1. 程式人生 > >Hibernate簡單、快速上手

Hibernate簡單、快速上手

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();
			}
		}
		
		
	}
}