Hibernate 基礎( 1 ) 基本流程

Hibernate簡單運行測試

 

1.編寫POJO        Hero.java

package xy.po;

public class Hero 
{
	//提供無參構造器
	public Hero()
	{
		
	}
	//應提供1個標識屬性
	private int id ;
	private String name;
	private String weapon;
	//爲屬性提供setter getter方法
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getWeapon() {
		return weapon;
	}
	public void setWeapon(String weapon) {
		this.weapon = weapon;
	}

}

2.編寫映射文件  Hero.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">

<!-- Generated 2010-11-9 18:15:04 by Hibernate Tools 3.3.0.GA -->
<!--package 指定下面類的包前綴  -->
<hibernate-mapping package="xy.po">
	<!-- 類 與 表 的映射  若無指定package屬性則須全名錶示 xy.po.Hero -->
	<class name="Hero" table="Hero_table">
		<!--標識名  類型 -->
		<id name="id" type="java.lang.Integer">
			<!-- 標識屬性對應的列 -->
			<column name="id" />
			<!-- 主鍵生成器 -->
			<generator class="identity" />
		</id>
		<!-- 普通屬性映射 -->
		<property name="name" type="java.lang.String">
			<column name="name" />
		</property>
		
		<property name="weapon" type="java.lang.String">
			<column name="weapon" />
		</property>
	</class>
</hibernate-mapping>


3.編寫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>
		<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
		<property name="connection.password">ROOT</property>
		<property name="connection.url">jdbc:mysql://localhost:3306/hb</property>
		<property name="connection.username">root</property>
		<!-- 數據庫方言指定 -->	
		<property name="dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
		<!-- 根據需要自動創建表 -->
		<property name="hbm2ddl.auto">update</property>
		<!--輸出SQL語句  -->
		<property name="show_sql">true</property>
		<!-- 改爲良好格式的SQL語句 -->		
		<property name="format_sql">true</property>
		<!-- 映射文件 -->
		<mapping resource="xy/po/Hero.hbm.xml"/>
					   
	</session-factory>
</hibernate-configuration>


 

4.編寫測試運行類   HeroManager.java

package xy.mgr;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;

import xy.po.Hero;

public class HeroManager 
{
	public static void main(String[] args) 
	{
		//初始化configuration   
		Configuration config = new Configuration()
									.configure();//加載hibernate.cfg.xml
		//創建SessionFactory
		SessionFactory sf = config.buildSessionFactory();
		//創建Session
		Session session = sf.openSession();
		//開始事務
		Transaction tx = session.beginTransaction();
		
	/*	Hero n = new Hero();
		n.setName("saber");
		n.setWeapon("Excalibur");
		session.save(n);*/
		//提交事務
		Hero n = (Hero) session.load(Hero.class, 1);
		System.out.println("英雄:"+n.getName()+",武器:"+n.getWeapon());
		tx.commit();
		
		session.close();
		sf.close();
	}

}


文件結構:

 

hibernate 的PO = POJO+映射文件

注:POJO應提供 ①標識屬性  ②無參數構造器 ③setter getter方法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章