1. 程式人生 > >Eclipse搭建Hibernate框架 Demo

Eclipse搭建Hibernate框架 Demo

第一步:首先去官網下載需要的JAR包 地址:http://hibernate.org/  (我這裡使用的是5.1.10版本的)

第二步:建立動態web專案,工程目錄結構如下:


第三步:書寫hibernate核心配置檔案-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>
	<!-- 
		在解壓檔案  hibernate-release-5.1.10.Final\project\etc 目錄下  
		在檔案hibernate.properties中搜素mysql 就可以看見如下name屬性
		#hibernate.dialect org.hibernate.dialect.MySQLDialect
		#hibernate.dialect org.hibernate.dialect.MySQLInnoDBDialect
		#hibernate.dialect org.hibernate.dialect.MySQLMyISAMDialect
		#hibernate.connection.driver_class com.mysql.jdbc.Driver
		#hibernate.connection.url jdbc:mysql:///test
		#hibernate.connection.username gavin
		#hibernate.connection.password
		
	 -->
	 	<!-- 必須的五項配置  這是使用的Hibernate自帶的連線池,不用於生產環境-->
		<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
		<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/all_db</property>
		<property name="hibernate.connection.username">root</property>
		<property name="hibernate.connection.password">root</property>
		<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
				
		<!-- 在解壓檔案  hibernate-release-5.1.10.Final\project\etc 目錄下  
			 在檔案hibernate.properties中搜素show就可以看見如下name屬性
		 -->
		<!-- #hibernate.show_sql true -->								
		<property name="hibernate.show_sql">true</property>
		<!--#hibernate.format_sql true -->
		<property name="hibernate.format_sql">true</property>
	<!-- 
		 	在解壓檔案  hibernate-release-5.1.10.Final\project\etc 目錄下  
			 在檔案hibernate.properties中搜素hbm2就可以看見如下name屬性
		        #hibernate.hbm2ddl.auto  none		不讓Hibernate維護表
		        #hibernate.hbm2ddl.auto create-drop	每次建立一個新表,執行完程式刪除這個表
			#hibernate.hbm2ddl.auto create		每次建立一個新表
			#hibernate.hbm2ddl.auto update		資料庫中有表,使用原來的,沒有,建立一個新的,可以更新表結構
			#hibernate.hbm2ddl.auto validate 	只會使用原有的表,對對映關係進行校驗
	-->
		<property name="hibernate.hbm2ddl.auto">update</property>
		<!-- 載入對映檔案 -->
		<mapping resource="com/xiao/pojo/User.hbm.xml"/>
		
		
	</session-factory>	
	
</hibernate-configuration>
    
           

第四步:書寫實體類-User.java:

package com.xiao.pojo;

/**
 * @author 笑笑
 *
 * 2017年12月7日下午10:19:15
 */
public class User {
		private Integer id = 0;
		private String name = null;
		private String password = null;
		
		public Integer getId() {
			return id;
		}
		public void setId(Integer id) {
			this.id = id;
		}
	
		public String getName() {
			return name;
		}
		public void setName(String name) {
			this.name = name;
		}
		public String getPassword() {
			return password;
		}
		public void setPassword(String password) {
			this.password = password;
		}
		
		@Override
		public String toString() {
			return "User [id=" + id + ", name=" + name + ", password=" + 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="com.xiao.pojo.User" table="hibernate_test">
	
		<!-- 對映主鍵 -->
		<id name="id" column="id">
			<generator class="native"></generator>
		</id>
		<!-- 對映其他欄位,如果實體類與表的欄位相一致,可以省略 -->
		<property name="name"	  column="name" />	
		<property name="password" column="password" />
		
	</class>   
	
</hibernate-mapping>

第六步:書寫測試類-HibernateTest.java:

package com.xiao.test;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.junit.Test;
import com.xiao.pojo.User;
/**
 * @author 笑笑
 *
 * 2017年12月7日下午10:58:12
 */
public class HibernateTest {
		@Test
		public void test(){
			
			Configuration cfg = new Configuration().configure();//載入主配置檔案
			
			SessionFactory sf = cfg.buildSessionFactory();

			Session session = sf.openSession();
			Transaction tx = session.beginTransaction();
			User user = new User();
			user.setName("笑笑");
			user.setPassword("123");
			session.save(user);	
			tx.commit();
			session.close();
			sf.close();
		}
}

第七步:執行Junit測試,控制輸出如下資訊:


到此,hibernate框架搭建成功!