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

1 Hibernate的基本配置

開發(fā) 開發(fā)工具
博主發(fā)表的文章,有的是自己原創(chuàng),有的是這些年本人從網(wǎng)上積累的,方便大家學(xué)習(xí)。

 [[178963]]

添加所需 jar 包

hibernate-distribution-3.6.10.Final 下的 hibernate.jar;

  1. \hibernate-distribution-3.6.10.Final\lib\required下的所有 jar 包。 

編寫 hibernate.cfg.xml (hibernate 配置文件) 配置 hibernate 如何連接到數(shù)據(jù)庫

  1. <?xml version="1.0" encoding="UTF-8"?> 
  2. <!DOCTYPE hibernate-configuration 
  3. PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" 
  4. "http://www.hibernate.org/dtd/hibernate-configuration- 3.0.dtd" > 
  5. <hibernate-configuration> 
  6.  <session-factory> 
  7.  <!-- 配置如何連接數(shù)據(jù)庫 --> 
  8.  <property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property> 
  9.  <property name="hibernate.connection.url">jdbc:oracle:thin:@localhost:1521:xe</property> 
  10.  <property name="hibernate.connection.username">hr</property> 
  11.  <property name="hibernate.connection.password">hr</property> 
  12.  <!-- hibernate支持多種數(shù)據(jù)庫, 需要選擇一種方言 --> 
  13.  <property name="hibernate.dialect">org.hibernate.dialect.Oracle10g Dialect</property> 
  14.  <!-- 二級緩存配置 --> 
  15.  <!-- 啟用二級緩存 --> 
  16.  <property name="hibernate.cache.use_second_level_cache">true</property> 
  17.  <!-- 啟用hql查詢緩存 --> 
  18.  <property 
  19.  
  20.  name="hibernate.cache.use_query_cache">true</property> 
  21.  <!-- 選擇緩存實(shí)現(xiàn)類 --> 
  22.  <property name="hibernate.cache.region.factory_class">net.sf.ehcache.hibernate.EhCacheRegionFactory</property> 
  23.  <!-- 跟連接池相關(guān)的配置 --> 
  24.  <!-- 連接的***個數(shù) --> 
  25.  <property name="hibernate.c3p0.max_size">10</property> 
  26.  <!-- 每次創(chuàng)建連接的增長數(shù) --> 
  27.  <property name="hibernate.c3p0.acquire_increment">2</property> 
  28.  <!-- 連接最小保留個數(shù) --> 
  29.  <property name="hibernate.c3p0.min_size">2</property> 
  30.  <!-- 獲取連接的超時時間 --> 
  31.  <property name="hibernate.c3p0.timeout">20</property> 
  32.  <property name="current_session_context_class">thread</property> 
  33.  <!-- 加入sql監(jiān)控 --> 
  34.  <property name="hibernate.show_sql">true</property> 
  35.  <mapping resource="entity/User.hbm.xml" /> 
  36.  </session-factory> 
  37. </hibernate-configuration> 

配置映射文件

在java實(shí)體類和數(shù)據(jù)庫表之間建立對應(yīng)關(guān)系,來簡化增刪改查操作對象(java實(shí)體類) 關(guān) 系(關(guān)系型數(shù)據(jù)庫) 映射(對應(yīng)關(guān)系) ORM(object relationship mapping)

對實(shí)體類的要求:

1. 要有無參構(gòu)造方法

2. 實(shí)體類不能加 final

3. 建議實(shí)現(xiàn) Serializable 接口(以后二級緩存會用到)

映射文件(格式為 xml):

習(xí)慣上格式為 實(shí)體類名.hbm.xml

hibernate 主鍵生成方式:

  1. increment 取 id 的***值+1 
  2. sequence 默認(rèn)找 hibernate_sequence `<generator class="sequence"/>` 
  3.  如果要自定義序列名: 
  4.  <generator class="sequence"
  5.  <param name="sequence">自定義序列名</param> 
  6.  </generator> 
  7. assigned 由應(yīng)用程序指定 id 
  8.  
  9. identity 例如 sqlserver, mysql 需要使用這種方式生成主鍵值 
  10.  
  11. native (會根據(jù)方言選擇是用 sequence 或是 identity) 

例:

  1. -- 數(shù)據(jù)庫 
  2. create table person 
  3. id number(10) primary keyname varchar2(10), 
  4. age number(2), 
  5. gender varchar2(4), 
  6. city varchar2(10) 
  7. ); 
  1. //實(shí)體類 
  2. public class Person { 
  3.  
  4.  private Integer id; 
  5.  
  6.  private String name
  7.  
  8.  private Integer age; 
  9.  
  10.  private String gender; 
  11.  
  1. <!--person.hbm.xml(映射文件)--> 
  2. <?xml version="1.0" encoding="UTF-8"?> 
  3. <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" > 
  4.  
  5. <hibernate-mapping package="com.zyb.entity"
  6.  <class name="Person" table="person"
  7.  <id name="id"
  8.  <generator class="increment"/> 
  9.  </id> 
  10.  <property name="name" /> 
  11.  <property name="age" /> 
  12.  <property name="gender" /> 
  13.  </class> 
  14. </hibernate-mapping> 

使用 hibernate 的 api 進(jìn)行 CRUD

session.save(實(shí)體對象); 執(zhí)行 insert 來保存數(shù)據(jù)

session.delete(實(shí)體對象); 執(zhí)行 delete 來刪除數(shù)據(jù)

要先查詢、后刪除

session.get(實(shí)體類型, 實(shí)體 id 主鍵值) ; 執(zhí)行 select 來查詢單個實(shí)體

session.update(實(shí)體對象);

在 session 打開的過程中, 對實(shí)體的修改,***事務(wù)提交時,hibernate 都會將這些修改同步到數(shù)據(jù)庫,如果實(shí)體對象的數(shù)據(jù)與數(shù)據(jù)庫數(shù)據(jù)不一致,就稱此數(shù)據(jù)變”臟”了。hibernate 會進(jìn)行臟數(shù)據(jù)檢查,事務(wù)提交時,如果數(shù)據(jù)變”臟”了,hibernate才會執(zhí)行 update 查詢多個實(shí)體。

session.createQuery(hql 語句).list(); 返回一個 List 集合

例:

  1. import org.hibernate.SessionFactory; 
  2. import org.hibernate.cfg.Configuration; 
  3. public static void main(String[] args) { 
  4.  // 1. 讀取配置文件 
  5.  Configuration cfg = new Configuration().configure(); 
  6.  // 2. 創(chuàng)建SessionFactory 
  7.  SessionFactory sf = cfg.buildSessionFactory(); 
  8.  // 3. Session <-> Connection (類似于) 
  9.  Session session = sf.openSession(); // 打開新session, 類似 于打開一個數(shù)據(jù)庫連接 
  10.  // 4. 進(jìn)行實(shí)體類的增刪改查 
  11.  Person p = new Person(); 
  12.  p.setName("王五"); p.setAge(19); 
  13.  p.setGender("男"); 
  14.  // 開始事務(wù) 
  15.  session.beginTransaction(); 
  16.  // 參數(shù)即為實(shí)體對象 
  17.  session.save(p); 
  18.  // 提交事務(wù) rollback()回滾事務(wù) 
  19.  session.getTransaction().commit(); 
  20.  // 5. 釋放資源 
  21.  session.close(); 
  22.  sf.close(); 

掌握 HibernateUtil 的工具類

理解同一個線程要使用同一個 session 對象的實(shí)現(xiàn)方式

  1. import org.hibernate.HibernateException; 
  2. import org.hibernate.Session; 
  3. import org.hibernate.SessionFactory; 
  4. import org.hibernate.cfg.Configuration; 
  5. public class HibernateUtil { 
  6.  private static Configuration cfg; 
  7.  private static SessionFactory sf; 
  8.  static { 
  9.  try { 
  10.  cfg = new Configuration().configure(); sf = cfg.buildSessionFactory(); 
  11.  } catch (HibernateException e) { 
  12.  e.printStackTrace(); 
  13.  } 
  14.  } 
  15.  private static ThreadLocal<Session> threadLocal = new ThreadLocal<Session>(); 
  16.  /** 
  17.  * 同一個線程要使用同一個session對象 
  18.  * 
  19.  * @return 
  20.  */ 
  21.  public static Session getSession() { 
  22.  Session session = threadLocal.get(); 
  23.  if (session == null) { 
  24.  // ***次調(diào)用,線程中還沒有session,這時創(chuàng)建新的session對象 
  25.  session = sf.openSession(); 
  26.  threadLocal.set(session); 
  27.  } 
  28.  return session; 
  29.  } 
  30.  public static void closeSession() { 
  31.  Session session = threadLocal.get(); 
  32.  if (session != null) { 
  33.  session.close(); // 關(guān)閉session 
  34.  threadLocal.remove(); // 并從當(dāng)前線程清除此session 
  35.  } 
  36.  } 

使用 jUnit 來進(jìn)行單元測試

它是一種單元測試工具junit類中的方法都可以作為程序入口點(diǎn), 要添加@Test注解到方法上

【本文是51CTO專欄作者張勇波的原創(chuàng)文章,轉(zhuǎn)載請通過51CTO獲取作者授權(quán)】

責(zé)任編輯:武曉燕 來源: 上下求索的Z先生博客
相關(guān)推薦

2012-03-19 16:27:05

JavaHibernate

2009-09-21 17:46:25

Hibernate數(shù)據(jù)

2009-06-12 15:13:12

Hibernate學(xué)習(xí)

2009-06-30 16:44:10

Criteria基本查

2009-06-29 08:50:20

Hibernate主鍵

2012-02-06 13:52:32

HibernateJava

2012-02-03 10:54:50

HibernateJava

2009-06-17 09:59:46

Hibernate 連

2009-09-24 15:03:30

Hibernate配置

2009-09-22 10:23:15

Hibernate配置

2009-09-23 14:00:07

Hibernate連接

2009-09-22 15:04:37

Hibernate M

2009-09-27 14:24:10

Hibernate配置

2009-02-16 09:20:39

基本定則OR映射Hibernate

2009-09-22 16:04:50

Hibernate連接

2009-09-25 10:49:25

Hibernate加載

2009-06-17 16:22:45

Hibernate連接

2009-09-22 14:44:18

Hibernate.c

2009-09-29 17:29:43

Hibernate S

2009-09-27 13:25:22

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

涩涩视频网站在线观看| 极品国产91在线网站| 精品一区二区三区亚洲| 一区二区三区精品视频| 国产v亚洲v天堂无码| 日韩网红少妇无码视频香港| 国内精品久久久久久99蜜桃| 91精选在线观看| 国产免费黄色小视频| 国产一级网站视频在线| 激情欧美日韩一区二区| 97视频国产在线| 99热6这里只有精品| 国产精品极品| 欧美浪妇xxxx高跟鞋交| 青青草成人免费在线视频| shkd中文字幕久久在线观看| 国产大陆a不卡| 国产精品第3页| 国产精品变态另类虐交| 日韩不卡一区| 日韩成人高清在线| a级大片免费看| 日韩影片中文字幕| 亚洲一区二区视频| 在线观看日韩羞羞视频| 日韩av成人| 国产成人精品免费视频网站| 国产精品久久久久久久一区探花| 久久这里只有精品国产| 色婷婷色综合| 日韩大陆欧美高清视频区| 亚洲综合123| aaaa欧美| 91成人网在线| 你懂的av在线| 国产偷倩在线播放| 亚洲男女一区二区三区| 六月婷婷久久| 黑人乱码一区二区三区av| 精品午夜久久福利影院| 国产精品高清网站| 51国产偷自视频区视频| 在线观看一区视频| 欧美激情亚洲一区| 欧美色图一区二区| 亚洲综合激情在线| 久久精品小视频| 美女福利视频网| 精品视频99| 亚洲欧美日韩精品| 无码人妻精品一区二区三应用大全| 91精品国产自产在线丝袜啪| 91精品国产黑色紧身裤美女| 精品综合久久久久| 欧美成人家庭影院| 色哟哟国产精品免费观看| 国自产拍偷拍精品啪啪一区二区 | 成人av三级| 五月天婷婷综合| 国产v片免费观看| 123区在线| 精品久久久久久| 又粗又黑又大的吊av| 美女露胸视频在线观看| 欧美日韩在线视频观看| av动漫免费看| 综合在线影院| 欧美图片一区二区三区| 国产精品视频中文字幕| 高清久久精品| 日韩小视频在线观看专区| 女王人厕视频2ⅴk| a级日韩大片| 精品视频久久久久久| 久久只有这里有精品| 精品成人影院| 精品国产一区二区三区久久狼黑人| 99热在线观看精品| 在线一区电影| 97成人精品视频在线观看| 日韩乱码人妻无码中文字幕| 免费亚洲一区| 国产精品视频xxx| 99久久久国产精品无码网爆| 成人激情午夜影院| 欧美日韩一区二区视频在线观看| yiren22综合网成人| √…a在线天堂一区| 美女av免费观看| 在线高清av| 欧美巨大另类极品videosbest| 国产精品igao网网址不卡| 国产香蕉精品| 伊人青青综合网站| 唐朝av高清盛宴| 国产一区二区你懂的| 国产精品日韩欧美| 国精产品一品二品国精品69xx| 久久综合给合久久狠狠狠97色69| 伊人久久大香线蕉成人综合网| 欧美韩日亚洲| 欧亚一区二区三区| 4438x全国最大成人| 精品一区免费| 欧美肥婆姓交大片| 波多野结衣一区二区三区在线| 国内国产精品久久| 日本免费高清一区| 色婷婷av在线| 欧美无乱码久久久免费午夜一区| 日韩精品国产一区| 日韩激情一区| 91精品国产99| 国产视频在线观看免费| 26uuu国产电影一区二区| 美女在线免费视频| 欧美不卡高清一区二区三区| 精品日韩成人av| 无码人中文字幕| 亚洲神马久久| 成人网在线视频| 韩国中文字幕2020精品| 亚洲一级二级在线| 91pony九色| 欧美理论电影大全| 91精品国产精品| 99久久精品无免国产免费| 国产日韩精品视频一区| 青青草视频在线免费播放| 91精品麻豆| 国产一区二区动漫| wwwwww国产| 白白色亚洲国产精品| 超级碰在线观看| 国产成人77亚洲精品www| 国产丝袜一区二区三区| 国产在线视频卡一卡二| 国产成人精品午夜视频免费| 一级特黄录像免费播放全99| 午夜激情成人网| 精品夜色国产国偷在线| 亚洲精品国产精品乱码| 国产aⅴ综合色| 黑人巨茎大战欧美白妇| 91成人精品观看| 久久久成人精品| 91精品视频免费在线观看| 国产三级欧美三级日产三级99| 欧美 丝袜 自拍 制服 另类| 8x国产一区二区三区精品推荐| 欧美成年人视频| 国产精品一区二区av白丝下载| 国产精品乱码一区二区三区软件| 亚洲精品怡红院| 福利片一区二区| 高清亚洲成在人网站天堂| 精品人妻一区二区三区三区四区 | av成人国产| 国产综合 伊人色| 欧美调教sm| 精品亚洲va在线va天堂资源站| 国产精品999在线观看| 99v久久综合狠狠综合久久| www.av毛片| 国产香蕉精品| 欧美又大粗又爽又黄大片视频| 亚洲AV成人无码一二三区在线| 第一福利永久视频精品| 一本色道久久综合亚洲精品图片| 日韩主播视频在线| 手机看片福利永久国产日韩| 国产综合色激情| 欧美成年人视频网站| 精品黑人一区二区三区在线观看| 亚洲欧美另类小说| 国产艳妇疯狂做爰视频 | 久久伊人精品一区二区三区| 国产精品欧美激情在线| 一区二区三区四区五区视频在线观看| 女王人厕视频2ⅴk| 在线亚洲欧美| 色女孩综合网| 欧美成人黄色| 欧美激情手机在线视频 | 亚洲精品永久www嫩草| 日韩一区二区三免费高清在线观看| 日韩一区二区av| 国产小视频一区| 色婷婷综合在线| 少妇高潮一区二区三区喷水| 国产酒店精品激情| 91专区在线观看| 欧美一区电影| 成人黄视频免费| 色香欲www7777综合网| 久久久国产视频91| 五十路在线观看| 欧美日韩一区二区三区视频| 免费一级全黄少妇性色生活片| 337p粉嫩大胆色噜噜噜噜亚洲| 日韩欧美国产片| 亚洲第一精品影视| 亚洲精品乱码久久久久久蜜桃91| 久久综合给合| 国产99久久精品一区二区永久免费 | 欧美色倩网站大全免费| 蜜臀久久精品久久久用户群体| 99久久伊人网影院| 中文字幕成人免费视频| 9国产精品视频| 国产福利片一区二区| 香蕉久久精品日日躁夜夜躁| 91精品视频在线看| 惠美惠精品网| 欧美黄色三级网站| 日本三级在线视频| 日韩精品中文字| 国产超碰人人模人人爽人人添| 一本久道中文字幕精品亚洲嫩| 真实国产乱子伦对白在线| 久久久精品日韩欧美| 黄色国产在线视频| 久草这里只有精品视频| 欧美污视频网站| 激情自拍一区| 成年人三级视频| 成人高清电影网站| 麻豆av一区| 欧美精品国产白浆久久久久| 91超碰rencao97精品| 国产福利亚洲| 国产成人精品电影| 免费在线小视频| 欧美乱妇40p| 岛国成人毛片| 日韩有码在线播放| 2021av在线| 亚洲人成伊人成综合网久久久| 欧美一级片免费| 日韩小视频在线观看专区| 国产精品综合在线| 欧美日韩高清在线播放| 波多野结衣视频网址| 色综合天天性综合| 亚洲国产成人无码av在线| 亚洲成a人v欧美综合天堂下载 | 日本私人网站在线观看| 亚洲激情视频在线观看| 人妻妺妺窝人体色www聚色窝| 日韩一区二区视频| 99精品在线看| 日韩欧美亚洲一区二区| 国产人妻精品一区二区三| 欧美日韩视频专区在线播放| 中文在线资源天堂| 欧美综合一区二区三区| 国产午夜无码视频在线观看| 狠狠色香婷婷久久亚洲精品| 天天操天天射天天爽| 亚洲永久精品国产| 久久丫精品久久丫| 偷窥少妇高潮呻吟av久久免费| 99免费在线观看| 欧美视频在线观看免费| 亚洲GV成人无码久久精品| 欧美性生活大片免费观看网址| 久久黄色精品视频| 在线观看日韩精品| 一区二区三区亚洲视频| 91麻豆精品91久久久久同性| 精品二区在线观看| 精品国产免费久久 | 亚洲无av在线中文字幕| 午夜视频成人| 免费91在线视频| 黄色小说在线播放| 8x海外华人永久免费日韩内陆视频| 美女扒开腿让男人桶爽久久软| 国产成人精品网站| 四虎在线精品| 国产二区一区| 免费成人结看片| 亚洲欧洲日韩精品| 午夜精品剧场| 妺妺窝人体色www在线小说| 老色鬼久久亚洲一区二区| 色片在线免费观看| 国产精品一二三| 人妻丰满熟妇aⅴ无码| 国产欧美一区二区精品性| 欧美精品一区二区成人| 日韩欧美成人网| 92久久精品一区二区| 亚洲成人久久久| 国产高清在线观看| 欧美精品videossex性护士| 成人免费无遮挡| 亚洲a级在线观看| 牛牛影视一区二区三区免费看| 日韩精品一区二区三区色偷偷| 亚洲激情久久| 男人操女人免费| 国产美女精品人人做人人爽| 99久久人妻精品免费二区| 中文字幕日本不卡| 特一级黄色大片| 欧美一区二区高清| 黄色av网址在线免费观看| 欧美www在线| abab456成人免费网址| 国产精品xxx在线观看www| 日本中文字幕免费观看| 中文字幕色av一区二区三区| 成人免费看片98| 欧美日韩精品福利| 青青草在线免费观看| 欧美成人免费全部观看天天性色| 国产精品粉嫩| 国产久一道中文一区| 99久久99久久精品国产片桃花 | 日本三级免费网站| 日本三级久久| 国产成人生活片| 日韩成人精品在线| 欧美一区二区免费在线观看| 亚洲桃色在线一区| 国产精品午夜一区二区| 亚洲精品久久久久久久久久久久| bt在线麻豆视频| 国产精品第一第二| 五月天亚洲色图| 国产va亚洲va在线va| 国产一区二区中文字幕| 手机av在线不卡| 色噜噜久久综合| 日本一区高清| 97视频人免费观看| 成人台湾亚洲精品一区二区| 中文字幕超清在线免费观看| 久久99精品一区二区三区三区| www.色多多| 岛国精品视频在线播放| 天堂网在线播放| 久久久久国产精品免费| 另类视频一区二区三区| 一级一片免费播放| 老鸭窝一区二区久久精品| www.99热| 在线免费精品视频| 成人在线免费观看| 国产精品久久久久久网站 | 欧美日韩高清在线一区| 国产视频一区三区| 玖玖爱在线观看| 在线日韩国产精品| 尤物在线视频| 成人激情视频在线| 自由日本语亚洲人高潮| 欧美又黄又嫩大片a级| 亚洲色图.com| 精品国自产拍在线观看| 久久久久久久久亚洲| 激情av综合| 黄在线观看网站| 久久久久国产精品厨房| 中文字幕在线观看视频免费| 国产一区二区三区18| 日韩精品一级毛片在线播放| 正义之心1992免费观看全集完整版| 久久99日本精品| 久久久国产成人| 欧美精品一区二区不卡| 天堂在线中文网官网| 日本成人黄色免费看| 人人超碰91尤物精品国产| 九九精品视频免费| 日韩免费高清视频| 国产传媒在线观看| 日韩一区不卡| 国产美女在线观看一区| 国产一二三四在线| 亚洲免费福利视频| 日本a人精品| 亚洲国产成人精品无码区99| 久久精品视频免费| 国产精品欧美综合亚洲| 高清亚洲成在人网站天堂| 成人久久综合| 久久久久久久久久影视| 欧美日韩中文字幕综合视频| 尤物在线视频| 国产欧美日韩在线播放| 日韩黄色一级片| 久久精品www人人爽人人| 亚洲精品中文字| 精品视频成人| 一本大道熟女人妻中文字幕在线| 亚洲欧美综合在线精品| 午夜视频福利在线|