精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Hibernate的重要技術簡介

開發 后端
Hibernate技術session操縱數據庫@對象的狀態:瞬時(Transient) - 由new操作符創建,且尚未與Hibernate Session 關聯的對象被認定為瞬時(Transient)的。

Hibernate技術有很多值得學習的地方,這里我們主要介紹Hibernate技術的一些強大功能,包括Hibernate技術技術開發流程等方面。

Hibernate技術開發流程:

1.配置文件:

@.properties格式的

@.xml格式的(常用hibernate.cfg.xml)(放在src下面或者是wen-inf\classes下面)

  1. SessionFactory sf=new Configuration().configure().buildSessionFactory();  
  2.  
  3.    或者SessionFactory sf=new Configuration().configure("db.cfg.xml").buildSessionFactory();   

2.編寫映射文件:

例如:User.hbm.xml 映射文件的編寫有很多內容,可以采用相關的根據自動生成映射文件,在這里就不介紹了

3.寫持久化類:

例如:User.java

4.在編寫DAO之前先寫HibernateSessionFactory類

  1. package com.wuxiaoxiao.hibernate;  
  2. import org.hibernate.Session;  
  3. import org.hibernate.HibernateException;  
  4. import org.hibernate.cfg.Configuration;  
  5. public class HibernateSessionFactory{  
  6. private static final String CONFIG_FILE_LOCATION="/hibernate.cfg.xml";  
  7. private static final ThreadLocal threadLocal=new ThreadLocal();  
  8. private static final Configuration cfg=new Configuration();  
  9. private static org.hibernate.SessionFactory sessionFactory;  
  10. //取得session  
  11.  
  12. public static Session currentSession()throws HibernateException{  
  13. Session session=threadLocal.get();  
  14. if(session==null){  
  15.    if(sessionFactory==null){  
  16.       try{  
  17.        cfg.configuration(CONFIG_FILE_LOCATION);  
  18. sessionFactory=cfg.buildSessionFactory();  
  19.       }catch(Exception e){  
  20.         System.err.println("%%%Error Creating SessionFactory %%%%");  
  21. e.printStackTrace();  
  22.       }   
  23.    }  
  24. session=sessionFactory.openSession();  
  25. threadLocal.set(session);  
  26. }  
  27. return session;  
  28. }   
  29. //關閉session  
  30.  
  31. public static void closeSession()throws HibernateException{  
  32. Session session=(Session)threadLocal.get();  
  33. threadLocal.set(null);  
  34. if(session!=null)  
  35.   session.close();  
  36. }  
  37. }  

threadLocal是thread local variable,為每一個訪問它的線程都提供一個變量值的副本,是每一個線程都可以獨立的改變自己的副本,而不會和其他線程的副本沖突。ThreadLocal有三個主要的方法:initValue()初始化變量值,get(),set(Object)例子:

  1. public class ConnectionFactory{  
  2. private fianl String URL="jdbc:mysql://localhsot/mysatabase";  
  3. private static ThreadLocal<Connection> connectionHolder=new ThreadLocal<Connection>(){  
  4. public COnnection initValue(){  
  5. try{  
  6. return DriverManager.getConnection(URL);}catch(Exception e){}  
  7. }  
  8. };  
  9. public Connection getConnection(){  
  10. return connectionHolder.get();  
  11. }  
  12. }  

5.編寫DAO例如:

  1. public User getUser(String username)throws HibernateException{  
  2. Session session=null;  
  3. Transaction tx=null;  
  4. User user=null;  
  5. try{  
  6. session=HibernateSessionFactory.currentSession();  
  7. tx=session.beginTransaction();  
  8. Query query=session.createQuery("from User where username=?");  
  9. query.setString(0,username.trim());  
  10. user=(User)query.uniqueResult();  
  11. query=null;  
  12. tx.commit();  
  13. }catch(HibernateException e){throw e;  
  14. }finally{  
  15. if(tx!=null)  
  16.   tx.rollback();  
  17. HibernateSessionFactory.closeSession();  
  18. }  
  19. return user;  
  20. }  

6.編寫service類

public boolean valid(String username,String password){}

下面主要介紹session操縱數據庫@對象的狀態:

Hibernate定義并支持下列對象狀態(state):

瞬時(Transient) - 由new操作符創建,且尚未與Hibernate Session 關聯的對象被認定為瞬時(Transient)的。瞬時(Transient)對象不會被持久化到數據庫中,也不會被賦予持久化標識(identifier)。 如果瞬時(Transient)對象在程序中沒有被引用,它會被垃圾回收器(garbage collector)銷毀。 使用Hibernate Session可以將其變為持久(Persistent)狀態。(Hibernate會自動執行必要的SQL語句)

持久(Persistent) - 持久(Persistent)的實例在數據庫中有對應的記錄,并擁有一個持久化標識(identifier)。 持久(Persistent)的實例可能是剛被保存的,或剛被加載的,無論哪一種,按定義,它存在于相關聯的Session作用范圍內。 Hibernate會檢測到處于持久(Persistent)狀態的對象的任何改動,在當前操作單元(unit of work)執行完畢時將對象數據(state)與數據庫同步(synchronize)。 開發者不需要手動執行UPDATE。將對象從持久(Persistent)狀態變成瞬時(Transient)狀態同樣也不需要手動執行DELETE語句。

脫管(Detached) - 在數據庫中存在記錄,但不與session關聯!與持久(Persistent)對象關聯的Session被關閉后,對象就變為脫管(Detached)的。 對脫管(Detached)對象的引用依然有效,對象可繼續被修改。脫管(Detached)對象如果重新關聯到某個新的Session上, 會再次轉變為持久(Persistent)的(在Detached其間的改動將被持久化到數據庫)。 這個功能使得一種編程模型,即中間會給用戶思考時間(user think-time)的長時間運行的操作單元(unit of work)的編程模型成為可能。 我們稱之為應用程序事務,即從用戶觀點看是一個操作單元(unit of work)

@使用sve()保存對象,使之成為持久化

  1. Session session=HibernateSessionFactory.currentSession();  
  2. User user=new User();  
  3. user.setName("wuxiaoxiao");  
  4. user.setPassword(123456);  
  5. session.save(user);  

@使用load()裝在對象

  1. User user=(User)session.load(User.class,new Integer(1));  

若對象不存在就會拋出無法修復的異常

@使用get()裝在對象

  1. User user=(User)session.get(User.class,new Integer(4));  

若對象不存在的話,就返回null @使用flush()強制提交刷新

  1. User user=(User)session.get(User.class,new Integer(4));  
  2. user.setUsername("ranran");  
  3. user.setPassword("123456");  
  4. session.flush();  
  5.    

對user的更新是在同一個session中,不需要用update()或者saveOrUpdate()

@使用delete()移除持久化對象

  1. User user=(User)session.get(User.class,new Integer(4));  
  2. session.delete(user);  
  3. session.flush();  
  4.  

@使用update()方法提交托管狀態的對象

update()用于根據給定的托管對象實例的標示更新對應的持久化實例!如果傳入一個持久化對象,那么update()方法就是多余的。如果傳入臨時狀態的對象就會出錯,除非認為的給臨時地給對象指定一個id。不管傳入的是什么狀態的對象,數據庫中必須要有一條記錄與這個對象的id相對應,否則拋出異常!

@saveOrUpdate()傳遞的對象在數據庫中若存在就更新,否則就插入!他和update()主要是處理托管狀態的對象!
 
@使用refresh()強制裝在對象,如果數據庫中使用了觸發器來處理對象的而某些屬性,這個方法就更有用了!

  1. session.save(user);  
  2. session.flush();  
  3. session.refresh(user);  

使用Transaction管理事務

例子:如上面編寫DAO的例子 使用Query進行HQL查詢 @不帶參數的查詢

  1. Query query=session.createQuery("from User");  

@帶參數的查詢

  1. Query query=session.createQuery("from User where username=:username");  
  2. query.setString("username","wuxiaoxiao");  
  3. 或者  
  4. List names=new ArrayList();  
  5. names.add("wuxiaoxiao");  
  6. names.add("ranran");  
  7. Query query=session.createQuery("from User where username in (:namelist)");  
  8. query.setParameterList("namelist",names);  
  9. 或者  
  10. Query query=session.createQuery("from User where username=?");  
  11. query.setSrting(0,"wuxiaoxiao");  

@取得list結果集

 List list=query.list();

@取得迭代列表結果集

  1. Iterator iterator1=query.iterator();  
  2. 或者  
  3. Iterator iterator2=query.list().iterator();  
  4. while(iterator.hasNext())  
  5.  User user=(User)iterator2.next();  

@取得一個對象

  1. Query query=session.createQuery("from User where username=?");  
  2. query.setString(0,"wuxiaoxiao");  
  3. User user=(User)query.uniqueResult();  
  4.    

@標量查詢

  1. Iterator results = sess.createQuery(  
  2.         "select user.name,count(user.email) from User user " +  
  3.         "group by user.name")  
  4.         .list()  
  5.         .iterator();  
  6.           
  7. while ( results.hasNext() ) {  
  8.     Object[] row = (Object[]) results.next();  
  9.     String type = (String) row[0];  
  10.     Integer count = (Integer) row[1];  
  11.     .....  

@分頁查詢

  1. Query q = sess.createQuery("from DomesticCat cat");  
  2. q.setFirstResult(20);  
  3. q.setMaxResults(10);  
  4. List cats = q.list(); 

@創建sql查詢

使用Criteria進行條件查詢

  略.............

【編輯推薦】

  1. Hibernate入門學習寶典
  2. Hibernate屬性簡單分析
  3. Struts-Spring-Hibernate案例
  4. 簡述Hibernate配置連接池
  5. 對Hibernate中get()與load()不同點分析
責任編輯:仲衡 來源: chinaunix
相關推薦

2009-09-24 16:53:47

Hibernate A

2009-06-02 17:18:10

hibernate框架簡介

2009-09-21 13:19:06

Hibernate s

2009-09-27 09:46:45

Hibernate會話

2009-09-29 17:00:08

Hibernate c

2009-06-30 14:08:00

Hibernate緩存

2009-06-26 16:19:32

Hibernate實現

2009-06-12 14:40:38

Hibernate AHibernate接口

2009-09-08 09:37:03

LINQ重要組成部分

2009-06-22 15:39:00

java技術簡介

2009-02-11 09:37:32

Hibernate分頁技術JSP

2024-06-17 00:00:02

前端技術JavaScript

2011-03-24 11:37:41

Hibernate

2009-09-25 08:49:22

Hibernate集合

2016-04-07 09:39:17

LPWAN物聯網

2011-11-04 12:56:55

無線USB

2009-09-22 16:49:42

Hibernate分頁

2016-12-26 15:55:08

技術思維評估

2009-09-25 14:23:39

2009-09-25 10:17:21

Hibernate延遲
點贊
收藏

51CTO技術棧公眾號

无码粉嫩虎白一线天在线观看| 欧美日韩三级在线| 7777奇米亚洲综合久久| av男人的天堂av| 成av人片在线观看www| 不卡一区二区在线| 欧美激情免费观看| 亚洲午夜久久久久久久久| 97人人在线视频| 美腿丝袜亚洲一区| 色噜噜久久综合伊人一本| 天天摸天天舔天天操| 香港伦理在线| 国产在线精品一区二区夜色| 伊人久久男人天堂| 五月天婷婷在线观看视频| 免费超碰在线| 国产成人综合亚洲91猫咪| 欧美丰满少妇xxxx| 国产中文字幕一区二区| 免费欧美电影| 国产精品乱码久久久久久| 国产精品一区二区电影| 欧美日韩免费做爰视频| 老司机凹凸av亚洲导航| 色综合中文字幕| 一本一本久久a久久精品综合妖精| 国产精品乱码一区二区| 亚洲理论在线| 中文字幕成人在线| 中文字幕天堂av| jizz亚洲女人高潮大叫| 亚洲永久精品国产| 色一情一乱一伦一区二区三区| 国产精品无码久久av| 亚洲国产影院| 日韩中文字幕视频| 水蜜桃av无码| 成人豆花视频| 色综合久久综合网| 2022中文字幕| 午夜黄色小视频| 久久超碰97人人做人人爱| 久久久在线免费观看| 欧美性猛交xxxx乱大交少妇| 精品久久ai| 在线观看av一区二区| 国产成人在线小视频| 成人精品一区二区三区校园激情| 懂色中文一区二区在线播放| 国产欧美日韩专区发布| 天天操天天爽天天干| 亚洲澳门在线| 日韩av在线免费看| 五月六月丁香婷婷| 成人亚洲综合| 欧美性猛交xxxx黑人| av在线免费观看国产| 无遮挡动作视频在线观看免费入口| 成人黄色a**站在线观看| 91免费看片网站| 中文字幕激情视频| 一二三区精品| 久久久久久久一| 国产成人免费在线观看视频| 国产欧美日韩精品一区二区三区 | 不卡在线视频| 韩国三级中文字幕hd久久精品| 91精品国产91久久久久久不卡| 国产极品美女在线| 99久久影视| 亚洲午夜激情免费视频| 熟女人妻在线视频| 北条麻妃一区二区三区在线观看| 欧美精品tushy高清| aaa毛片在线观看| 久久人体大尺度| 精品成人国产在线观看男人呻吟| 女人床在线观看| 五月婷婷在线观看| 中文一区一区三区高中清不卡| 欧美日韩视频在线一区二区观看视频| 天堂网av2014| 国产一区二区三区av电影| 国产一区二区色| 日韩成人免费观看| 亚洲永久在线| 久久久久国产视频| 久久久久亚洲av无码专区体验| 天天综合网网欲色| 久久久久北条麻妃免费看| 国产美女福利视频| 久久久久久久久99精品大| 日韩最新免费不卡| 我要看黄色一级片| 欧美日韩mv| www.日韩欧美| 欧美精品成人久久| 黄色精品一区| 久久久久久美女| 日本一区二区网站| 日韩中文欧美在线| 青青草原成人在线视频| 精品乱码一区内射人妻无码| 久久99久久99| 国产精品免费福利| 久久久久久亚洲av无码专区| 蜜桃精品视频在线| 97人人澡人人爽| 色婷婷在线视频| 91麻豆文化传媒在线观看| 久久精品女人的天堂av| 成年人在线免费观看| 国产精品久久久久久久午夜片| 麻豆成人在线播放| 韩国精品视频| 亚洲精品乱码久久久久久黑人| 亚洲熟妇无码一区二区三区| 我爱我色成人网| 欧美精品三级日韩久久| 亚洲精品国产一区二区三区| 国产精品一区二区三区美女| 欧美zozozo| 国产精品久久久久久在线观看| 国产一区二区精品福利地址| 一区二区三区四区视频| 久久久久久久久久网站| 免费精品视频| 国产色综合天天综合网| 天堂а√在线8种子蜜桃视频| 国产麻豆91精品| 久久爱av电影| av电影高清在线观看| 欧美视频在线免费| 亚洲第一狼人区| 岛国一区二区| 亚洲成人精品视频| 一级黄色片日本| 国产精品入口66mio| 成人黄色在线播放| 日韩大胆视频| 亚洲激情校园春色| 九色91popny| 日韩一区二区三区精品视频第3页| 亚洲色图美腿丝袜| 欧美一级高潮片| 久久国产精品久久久久久电车| 国产欧美一区二区三区在线| 日批免费在线观看| 夜夜揉揉日日人人青青一国产精品| 欧美日韩在线成人| av日韩在线播放| 在线看国产精品| 日本在线视频免费| 国产suv一区二区三区88区| 亚洲国产另类久久久精品极度| 国语对白在线刺激| 欧美电影影音先锋| 美国美女黄色片| 久久国产毛片| 国产一区免费在线| 欧美一区二区三区在线观看免费| 欧美性xxxx极品高清hd直播| 亚洲高清在线不卡| 视频在线不卡免费观看| 国产精品久久久| 黄色的视频在线免费观看| 亚洲永久免费视频| 免费黄视频在线观看| 一区二区三区四区在线观看国产日韩| 国产精品一区专区欧美日韩| 亚洲色偷精品一区二区三区| 亚洲欧美一区二区久久| 日韩中文字幕组| av成人男女| 欧美国产日韩在线| 狠狠躁日日躁夜夜躁av| 亚洲午夜三级在线| 中文字幕精品视频在线| 欧美日本一区| 国产伦一区二区三区色一情| av网站免费在线观看| 91麻豆精品91久久久久同性| 亚洲天堂网av在线| 国产一区二三区好的| 久久久一二三四| 日韩电影免费观看高清完整版在线观看| 亚洲人a成www在线影院| 91视频在线视频| 91丨九色丨蝌蚪丨老版| 黄色一级片播放| 久久不见久久见中文字幕免费| 国产精品999999| a天堂中文在线| 欧美一级在线免费| 国产在线视频卡一卡二| 久久久美女毛片| 天天综合天天添夜夜添狠狠添| 尤物精品在线| 五月天色一区| 国产精品久久久网站| 国产不卡在线观看| 青青在线视频| 一区二区在线视频播放| 午夜精品久久久久久久96蜜桃| 日韩欧美中文字幕在线播放| 天天躁夜夜躁狠狠是什么心态| 日韩精品免费专区| 成人精品视频在线播放| 日韩精品诱惑一区?区三区| 国产一区不卡在线观看| 另类激情视频| 色综合视频网站| 黄视频在线观看免费| 欧美电影免费提供在线观看| 国产真人无遮挡作爱免费视频| 一区二区三区自拍| 欧美特级黄色录像| 成人污视频在线观看| 免费看污污网站| 亚洲一区久久| 激情五月婷婷六月| 欧美a级片视频| 欧美精品七区| 亚洲成人偷拍| 成人在线免费观看视视频| 黄色视屏在线免费观看| 久久精品在线播放| 成人免费在线观看| 日韩精品中文字幕在线观看| 精品人妻一区二区三区蜜桃 | 亚洲精品国产精品久久清纯直播 | 日韩精品中午字幕| 在线视频免费观看一区| 欧美性猛交xxxx黑人猛交| 久久中文字幕在线观看| 亚洲视频免费在线| 中字幕一区二区三区乱码| 国产成人8x视频一区二区| 亚洲va在线va天堂va偷拍| 亚洲毛片av| 中文字幕色呦呦| 91日韩视频| 岛国视频一区免费观看| 久久精品免视看国产成人| 国产成人涩涩涩视频在线观看| 草草视频在线| 色偷偷噜噜噜亚洲男人的天堂| 污污网站免费在线观看| 精品88久久久久88久久久| 99视频免费看| 91麻豆精品国产91久久久使用方法 | 黑人巨大精品欧美一区二区桃花岛| 国模视频一区二区| xxx.xxx欧美| 欧美大片欧美激情性色a∨久久| 国产在线观看免费麻豆| 日韩中文理论片| 日本美女高清在线观看免费| 少妇高潮久久77777| 日本韩国在线视频爽| 久久精品亚洲一区| 美女精品视频| 九九热在线精品视频| 污污视频在线| 欧美激情中文网| 交100部在线观看| 久久这里只有精品99| 国产黄色小视频在线| 亚洲视频在线看| av在线电影免费观看| 在线午夜精品自拍| 成人三级网址| 久久精品国产一区| av网址在线| 97在线视频精品| 91成人抖音| 成人亲热视频网站| 中文字幕日韩在线| 麻豆av一区二区| 99久久精品网| 中国黄色录像片| 日韩午夜av在线| 精品少妇一区二区三区在线| 美女精品网站| 九一精品久久久| 久久99久久久欧美国产| 极品白嫩的小少妇| 久久久久久9999| 成人自拍小视频| 欧美视频一二三| 在线视频你懂得| 亚洲国产成人精品久久| av福利在线播放| 久久久久中文字幕2018| 日本欧美韩国| 亚洲最大av网| 中文字幕av一区二区三区人| 宅男一区二区三区| 国产欧美大片| 99中文字幕在线| 久久久久久日产精品| 激情四射综合网| 在线一区二区三区四区五区| 91丨porny丨在线中文 | a级黄色一级片| 日韩不卡一区二区三区| 日韩av成人网| 国产精品美女久久久久久2018| 日本少妇xxxx动漫| 在线不卡免费av| 黄色大片在线看| 欧美第一黄网免费网站| 亚洲综合av一区二区三区| 国产欧美日韩一区| 亚洲精品99| 日韩精品一区二区三区久久| 国内精品免费在线观看| 激情视频极品美女日韩| 久久久久久网址| 8x8x成人免费视频| 91免费在线播放| 久久久久久久国产精品毛片| 欧美色图在线观看| 国产女人爽到高潮a毛片| 亚洲国产精品va在线看黑人动漫 | 中文字幕国产在线观看| 欧美成人精品3d动漫h| wwwxxx在线观看| 久久久久久久久久久人体| 美女国产精品久久久| 少妇特黄a一区二区三区| 国产精品婷婷| 久久久久久久人妻无码中文字幕爆| 国产精品传媒在线| 中文字幕一区二区三区四区免费看| 国产视频亚洲视频| 性xxxxfjsxxxxx欧美| 国产精品白嫩初高中害羞小美女| 亚洲欧美成人vr| 女人和拘做爰正片视频| 成人av在线观| 久久精品波多野结衣| 91.麻豆视频| 黄色成人影院| 成人黄色在线免费| 中文不卡在线| 黄色一级片免费播放| 亚洲欧美另类综合偷拍| 91在线精品入口| 久久精品视频中文字幕| 成人在线分类| 国产成人免费高清视频| 蜜桃av一区二区三区电影| 欧美自拍偷拍网| 制服.丝袜.亚洲.中文.综合| 第九色区av在线| 国产成人亚洲综合青青| 欧美三级美国一级| 欧美午夜aaaaaa免费视频| 国产农村妇女毛片精品久久麻豆 | 欧美精品777| 国产婷婷视频在线| 99久久99久久| 99精品国产在热久久婷婷| 成年人在线观看av| 色妞www精品视频| av大片在线看| 成人免费视频网| 一区二区免费不卡在线| 9.1在线观看免费| 五月综合激情日本mⅴ| 天堂在线免费av| 国产精品久久色| 亚洲国产精品日韩专区av有中文 | 五月激情久久| 中国人体摄影一区二区三区| 国产精品91一区二区| 国产一级片网址| 亚洲精品中文字幕有码专区| 国产成人精选| 免费看欧美一级片| 国产亚洲综合在线| 国产免费一区二区三区最新不卡 | 久草精品电影| 视频在线观看一区| 人人澡人人澡人人看| 亚洲国产成人精品女人久久久| 丝袜美腿一区| 国产一二三四区在线观看| 99re在线视频这里只有精品| 天天操天天爽天天干| 社区色欧美激情 | 国产精品白丝av嫩草影院| 在线观看av日韩| 亚洲mv大片欧洲mv大片精品| 国产一区精品| 懂色一区二区三区av片| 日韩香蕉视频| 尤物在线免费视频|