真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

初識(shí)Hibernate框架

引、

創(chuàng)新互聯(lián)主營(yíng)鹽亭網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,app軟件開(kāi)發(fā)公司,鹽亭h5小程序開(kāi)發(fā)搭建,鹽亭網(wǎng)站營(yíng)銷(xiāo)推廣歡迎鹽亭等地區(qū)企業(yè)咨詢(xún)

    之前在學(xué)校接觸了Java的hibernate框架,覺(jué)得很強(qiáng)大。放假了,有時(shí)間好好看一看hibernate的相關(guān)技術(shù)。最近在imooc上看了相關(guān)的視頻,寫(xiě)一篇博客總結(jié)一下。

一、了解:

    Hibernate是一個(gè)ORM(Object Relational Mapping,對(duì)象關(guān)系映射)框架,對(duì)JDBC進(jìn)行了輕量級(jí)的封裝。使得程序員可以用面向?qū)ο蟮姆椒▉?lái)進(jìn)行數(shù)據(jù)庫(kù)編程,使我們更容易用Java對(duì)數(shù)據(jù)庫(kù)進(jìn)行各種操作,完成數(shù)據(jù)持久化(我覺(jué)得就是實(shí)時(shí)同步)的任務(wù)。

二、配置:

    知道了Hibernate是什么,有什么用之后,我們來(lái)著手嘗試一下。但是首先,要配置。

    我用的是Eclipse,在Java web工程下:

    1、jar包

將hibernate所需的jar包都拷貝到WEB-INF\lib目錄下,然后build path添加到配置文件中。所需的包可以在其官網(wǎng)下載,然后還要添加所要用jdbc的jar包。

    2、hibernate.cfg.xml配置

    在src目錄下創(chuàng)建hibernate.cfg.xml,也就是config文件。

    貼一段配置代碼示例:


  
          
  
      
        true  
        org.hibernate.dialect.MySQLDialect  
        com.mysql.jdbc.Driver  
        jdbc:mysql://localhost:3306/lesson?useUnicode=true&characterEncoding=utf8  
        root  
        root  
        update
        
        
    

    關(guān)于以上參數(shù),從上往下:

        控制臺(tái)打印sql語(yǔ)句,使用mysql方言,使用mysql數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)連接,用戶(hù)名root,密碼root,操作表的方式

        里是兩個(gè)實(shí)體類(lèi),對(duì)應(yīng)數(shù)據(jù)庫(kù)中的兩張表。(實(shí)體類(lèi)直接對(duì)應(yīng)數(shù)據(jù)庫(kù)中的表)

    3、TUser.hbm.xml

    TUser是其中一個(gè)實(shí)體類(lèi)的名字,這里對(duì)應(yīng)了數(shù)據(jù)庫(kù)里的user表。對(duì)每一個(gè)實(shí)體類(lèi)需要?jiǎng)?chuàng)建一個(gè)xml配置文件。配置代碼示例:




	
		
			
		
		
		
	 

    其中對(duì)應(yīng)關(guān)系:package-包名。class-類(lèi)名,table-數(shù)據(jù)庫(kù)表名。id-主鍵,name-類(lèi)中屬性名,column-數(shù)據(jù)庫(kù)表列名。identity-主鍵increment自增。property-屬性對(duì)應(yīng)。

    配置的屬性還有單表映射,一對(duì)多,多對(duì)一的表映射,如果進(jìn)行過(guò)了雙向配置,可以使用inverse關(guān)鍵字來(lái)實(shí)現(xiàn)控制。添加表的映射之后使得數(shù)據(jù)表之間關(guān)系更易于管理,就是數(shù)據(jù)庫(kù)中添加外鍵一樣,還可以用cascade等參數(shù)使其更加方便。

    

    4、添加工具類(lèi)HibernateUtil.java

    在util包下新建HibernateUtil類(lèi)。不多說(shuō),上代碼:

package com.ouc.util;

import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.service.ServiceRegistryBuilder;

public class HibernateUtil {
	
public static SessionFactory sessionFactory;

	public HibernateUtil() 
	{
		
	}

	static {
		try {
			/** 此方法在Hibernate4中被標(biāo)記為過(guò)時(shí) */
			// sessionFactory = new
			// Configuration().configure().buildSessionFactory();

			/** Hibernate4取得SessionFactory的方法 */
			Configuration cfg = new Configuration().configure();  //創(chuàng)建配置對(duì)象
			ServiceRegistry serviceRegistry = new ServiceRegistryBuilder()  
					.applySettings(cfg.getProperties()).buildServiceRegistry(); //創(chuàng)建服務(wù)注冊(cè)對(duì)象
			sessionFactory = cfg.buildSessionFactory(serviceRegistry);  //創(chuàng)建會(huì)話(huà)工廠
		} catch (Throwable e) {
			throw new ExceptionInInitializerError(e);
		}
	}
	
	public static SessionFactory getSessionFactory() {
		return sessionFactory;
	}
	
}

    我們通過(guò)sessionFactory就拿到session,然后可以進(jìn)行各種操作了。

三、使用:

    Hibernate中使用HQL(Hibernate Query Language)進(jìn)行查詢(xún),數(shù)據(jù)庫(kù)中使用的SQL(Structured Query Language,結(jié)構(gòu)化查詢(xún)語(yǔ)言)進(jìn)行查詢(xún),兩者的語(yǔ)法幾乎是一樣的。

    寫(xiě)個(gè)Test測(cè)試一下,代碼:

package com.ouc.util;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import com.ouc.domains.TUser;

public class TestUtil {
	public static void main(String[] args) {
		Session session = HibernateUtil.sessionFactory.openSession();
		String hql=" from TUser";
		Query query= session.createQuery(hql);
		List users=query.list();
		for(TUser u:users){
			System.out.println(u.getId()+","+u.getUsername()+","+u.getPassword());
		}
	}
}

    上面要注意一個(gè)問(wèn)題,debug了半天- - 太粗心了,用了hibernate就是面向?qū)ο缶幊塘耍栽诓檎冶淼臅r(shí)候不是from tableName,而是要寫(xiě)from className。

    比如上面的hql用的from TUser,一開(kāi)始寫(xiě)了from t_user就報(bào)錯(cuò),提示沒(méi)有映射。發(fā)現(xiàn)配置文件并沒(méi)有問(wèn)題,才想到這里寫(xiě)錯(cuò)了。

    看看結(jié)果,數(shù)據(jù)庫(kù)中的數(shù)據(jù):

    

初識(shí)Hibernate框架

    控制臺(tái)輸出結(jié)果:

初識(shí)Hibernate框架

    可以,很正確。

五、總結(jié)

    經(jīng)過(guò)這一小段時(shí)間的視頻學(xué)習(xí),雖然學(xué)得不多也不深入,不過(guò)這樣也算是初步認(rèn)識(shí)了Hibernate框架,還要不斷學(xué)習(xí)!技術(shù)的世界很廣闊,為了去看看那些技術(shù)的秘密,也為了更好的明天,還要不斷學(xué)習(xí)。加油吧,晚安少年。


新聞名稱(chēng):初識(shí)Hibernate框架
轉(zhuǎn)載源于:http://weahome.cn/article/jsdpgi.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部