精品欧美一区二区三区在线观看 _久久久久国色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ù)棧公眾號

亚洲精品乱码视频| 亚洲人成77777在线观看网| 亚洲蜜桃在线| 黑人精品一区二区| 日韩精品久久理论片| 国产一区二区三区直播精品电影| 一路向西2在线观看| 影音先锋男人在线资源| 国产福利精品一区二区| 日本a级片电影一区二区| 亚洲女人久久久| 久久99精品国产自在现线| 欧美亚洲综合另类| 国产精品久久久久久久久电影网| 黄上黄在线观看| 国产91精品露脸国语对白| 日本视频久久久| 亚洲国产成人精品综合99| 沈樵精品国产成av片| 欧美一级高清片| 亚洲视频在线观看一区二区三区| 欧美人与动牲性行为| 国产欧美va欧美不卡在线| 高清视频一区二区三区| 中文字幕日韩免费| 在线看片日韩| 久久精品国产2020观看福利| 三上悠亚ssⅰn939无码播放| 一区二区三区亚洲变态调教大结局| 午夜精品福利一区二区蜜股av | 99久久精品国产色欲| 久久综合影音| 欧美一二三视频| 久久综合成人网| 午夜av一区| 中文字幕亚洲欧美| 一区二区伦理片| 青青久久av| 精品对白一区国产伦| 久久精品xxx| www.久久热.com| 久久九九全国免费| 欧美男人的天堂| 色一情一乱一区二区三区| 九九热在线视频观看这里只有精品| 欧美一级bbbbb性bbbb喷潮片| 久久精品国产av一区二区三区| 91精品国产自产在线观看永久∴ | 91ts人妖另类精品系列| 国产欧美日韩一区二区三区四区| 日韩不卡在线观看| 亚洲av成人片色在线观看高潮 | 精品国产成人在线影院| wwwxxx色| 国产精品videossex| 精品久久人人做人人爱| 午夜影院福利社| av成人男女| 精品成人一区二区| 国产网站无遮挡| 米奇777超碰欧美日韩亚洲| 亚洲欧美中文另类| 亚洲色成人网站www永久四虎| 国产成人三级| 色香阁99久久精品久久久| 日韩精品久久久久久久的张开腿让| 北条麻妃国产九九九精品小说| 在线视频中文亚洲| www.97视频| 好吊视频一区二区三区四区| 久久久久亚洲精品| 久久久久久久久影院| 日日欢夜夜爽一区| 国产日韩av在线| 国产黄色片免费观看| 粉嫩aⅴ一区二区三区四区五区| 国产精品.com| 日韩电影免费| 国产精品久99| 欧美乱做爰xxxⅹ久久久| 欧美高清另类hdvideosexjaⅴ| 亚洲一区中文日韩| 亚洲 高清 成人 动漫| 成人做爰视频www网站小优视频| 欧美自拍偷拍午夜视频| 色91精品久久久久久久久| 秋霞午夜一区二区三区视频| 亚洲电影免费观看高清| 欧美波霸videosex极品| 欧美精品1区| 日本久久久久久久久| 一级久久久久久久| av成人免费在线| 亚洲一区二区在线观| 欧美人动性xxxxz0oz| 91成人免费电影| 黑人无套内谢中国美女| 国产影视一区| 欧美黄色片视频| 这里只有精品免费视频| 国产精品2024| 四虎永久在线精品免费一区二区| 亚洲大胆人体大胆做受1| 日韩欧美在线字幕| 日本人dh亚洲人ⅹxx| 女优一区二区三区| 色综合男人天堂| 黄色污污视频软件| 不卡av免费在线观看| 亚洲日本无吗高清不卡| 美女av在线免费看| 日韩欧美激情一区| 黄大色黄女片18免费| 亚洲黄色三级| 亚洲伊人一本大道中文字幕| 国产特黄在线| 精品久久香蕉国产线看观看gif| 午夜大片在线观看| 欧美午夜精彩| 日本高清视频一区| 人妻妺妺窝人体色www聚色窝| 中文字幕亚洲欧美在线不卡| 欧美成人黑人猛交| 久本草在线中文字幕亚洲| 九九视频这里只有精品| 中文字幕人妻一区二区在线视频 | 欧美精品一区二区精品网| 精品一区二区在线观看视频| 久久午夜激情| 久草精品电影| av手机免费在线观看| 欧美一区二区三区四区视频| 天堂资源在线视频| 日韩激情视频在线观看| 久久99精品国产一区二区三区| 天堂av资源在线观看| 91精品一区二区三区在线观看| 影音先锋制服丝袜| 日韩制服丝袜av| 免费中文日韩| 欧美成人ⅴideosxxxxx| 亚洲老头同性xxxxx| 欧美亚洲天堂网| 成人午夜私人影院| 2018中文字幕第一页| 中文字幕av一区二区三区四区| 日韩一区av在线| 亚洲天堂一二三| 国产精品福利一区| 日本黄色福利视频| 色777狠狠狠综合伊人| 国产精品久久一区| h网站在线免费观看| 欧美在线制服丝袜| 91麻豆精品久久毛片一级| 久久草av在线| 精品一区二区三区毛片| 6080亚洲理论片在线观看| 久久久久久久999精品视频| 丰满人妻一区二区三区无码av| 夜夜嗨av一区二区三区网页| 蜜桃视频无码区在线观看| 亚洲一级黄色| 免费亚洲一区二区| 久久福利在线| 大胆人体色综合| 性一交一乱一伧老太| 亚洲动漫第一页| 免费看污黄网站在线观看| 男女视频一区二区| 国产免费xxx| av综合网址| 日韩av免费网站| 欧美性videos| 日韩精品一区二区三区在线| 国产无遮挡aaa片爽爽| www久久精品| 天天干天天草天天| 欧美日韩国内| 免费中文日韩| 国产一区二区三区黄网站| 久久久久久久久久久亚洲| 你懂的视频在线观看| 欧美日韩精品一区二区三区四区| 曰本女人与公拘交酡| 99久久精品国产一区| 亚洲国产精品三区| 午夜精品电影| 日本精品一区二区三区高清 久久 日本精品一区二区三区不卡无字幕 | 色婷婷综合久久久中字幕精品久久 | 在线观看精品一区二区三区| 91精品在线免费观看| 九九热在线免费观看| 中文字幕日韩一区| 在线免费播放av| 狠狠色丁香九九婷婷综合五月| 欧美视频在线观看视频| 日韩av大片| 国产欧美日韩一区| 日本国产一区| 欧美在线观看网址综合| av在线影院| 国产午夜精品视频免费不卡69堂| 国产精品主播一区二区| 一本色道亚洲精品aⅴ| 国产女人被狂躁到高潮小说| 久久久www免费人成精品| 国内自拍偷拍视频| 精品在线播放午夜| 美女av免费在线观看| 午夜天堂精品久久久久| 日本一区二区精品视频| swag国产精品一区二区| 国产精品99久久久久久久久久久久| 青草影视电视剧免费播放在线观看| 亚洲欧洲偷拍精品| 深夜福利视频网站| 日韩一区二区在线看片| 久久久久精彩视频| 一本色道久久综合亚洲91 | 国产黄a三级三级三级av在线看| 日韩精品视频观看| 亚洲黄色精品视频| 91精品午夜视频| 正在播放亚洲精品| 在线国产电影不卡| 中文字幕一区在线播放| 香蕉乱码成人久久天堂爱免费| 四虎精品免费视频| 国产精品传媒视频| 国产aaaaaaaaa| 久久精品欧美一区二区三区不卡| 日本一卡二卡在线| 成人美女视频在线观看18| 亚洲天堂一区二区在线观看| 麻豆高清免费国产一区| 一区二区在线播放视频| 水蜜桃久久夜色精品一区的特点| 久久久久久久久久网| 精品电影一区| 国产成人永久免费视频| 午夜精彩国产免费不卡不顿大片| 91香蕉视频网址| 天天天综合网| 免费在线观看污污视频| 97欧美在线视频| 一区中文字幕在线观看| 一区二区三区午夜探花| 特色特色大片在线| 最新欧美人z0oozo0| 国产精品igao激情视频| 一区在线视频| 99视频在线免费播放| 久久精品女人天堂| 国产熟人av一二三区| 日韩二区在线观看| www.夜夜爽| 国产很黄免费观看久久| 91精品国产高清91久久久久久 | 欧美日本一道本在线视频| 97av免费视频| 精品免费日韩av| 欧美在线精品一区二区三区| 亚洲精品国产欧美| 免费一级毛片在线观看| 中文字幕欧美亚洲| 黄色免费在线观看网站| 欧美精品精品精品精品免费| 久久影院午夜精品| 国产精品久久久久久久久久小说| 国产第一精品| 成人黄动漫网站免费| 欧美日韩一区二区三区在线电影| 欧美动漫一区二区| 91欧美大片| 成人免费视频91| 日韩主播视频在线| 国产xxxxhd| 久久影院午夜论| 亚洲国产123| 精品久久久久久久久久久久| 中文字幕第2页| 日韩精品一区二区在线观看| 亚洲色大成网站www| 神马久久久久久| wwww在线观看免费视频| 国产精品成人播放| 中文字幕日韩高清在线| 日本精品二区| 激情另类综合| 在线观看国产一级片| 成人免费视频视频| 毛片久久久久久| 午夜精品在线视频一区| 一区二区日韩在线观看| 日韩精品一二三四区| 精品视频在线一区二区| 日本成人黄色片| 欧美一级片网址| 天堂√在线观看一区二区| 亚洲乱码视频| 蜜桃福利午夜精品一区| 2014亚洲片线观看视频免费| 欧美日韩在线观看免费| 欧美自拍丝袜亚洲| 香蕉av在线播放| 美女久久久久久久| 日本精品在线中文字幕| 国产在线精品一区二区三区》| 天天射成人网| 国产一级特黄a大片免费| 深夜福利免费在线观看| 亚欧色一区w666天堂| 一级黄色片在线观看| 亚洲美女性视频| 亚洲丝袜精品| 国产欧美日韩高清| 久久99国产精一区二区三区| youjizz.com在线观看| 韩国v欧美v亚洲v日本v| 91狠狠综合久久久久久| 欧美性猛xxx| 色综合视频在线| 欧美黑人性视频| 蜜桃精品视频| 在线免费观看一区二区三区| 日韩电影在线观看电影| 无码熟妇人妻av| 婷婷久久综合九色综合绿巨人| 国产a级免费视频| 久久精品国产亚洲精品2020| 日本成人福利| 日韩欧美国产二区| 久久五月激情| 国产人妻大战黑人20p| 色综合av在线| 女人偷人在线视频| 日韩av123| 国产成人精品三级高清久久91| 欧美日韩在线中文| 91在线免费视频观看| 免费在线观看黄网站| 亚洲级视频在线观看免费1级| 国语对白在线刺激| 国产精品国产三级国产专区53 | 成人精品视频在线播放| 国产精品一区二区你懂的| 免费在线观看一级片| 精品国产青草久久久久福利| 欧美xxxbbb| 国产在线精品一区| 羞羞视频在线观看欧美| av黄色在线免费观看| 欧美亚洲一区二区在线观看| lutube成人福利在线观看| 国产欧美一区二区三区在线| 99久久精品网站| 性生交大片免费看l| 日韩精品一二三区| 国产精品午夜国产小视频| 亚洲精品v亚洲精品v日韩精品| 成人性做爰片免费视频| 国产精品系列在线播放| 国产精品成人aaaa在线| 日韩精品免费一线在线观看| 日韩成人高清| 在线精品日韩| 国产999精品久久久久久绿帽| 豆国产97在线 | 亚洲| 亚洲精品国产精品久久清纯直播 | 日韩欧美黄色动漫| 最近高清中文在线字幕在线观看| 国产综合视频在线观看| 狠狠干综合网| av男人的天堂av| 7777女厕盗摄久久久| √天堂8资源中文在线| 日产精品久久久一区二区| 美国一区二区三区在线播放| 99热精品免费| 亚洲精品小视频| 先锋影音网一区二区| 日韩欧美精品免费| 国产亚洲制服色| 国产强被迫伦姧在线观看无码| 韩国精品久久久999| 欧洲杯什么时候开赛| 人妻精品久久久久中文字幕69| 欧美日韩国产一区在线| 老司机在线看片网av| 久久久99爱| 狠狠色丁香久久婷婷综| 国产精品黄色网| xvideos国产精品| 少妇精品导航| 爱豆国产剧免费观看大全剧苏畅| 午夜一区二区三区在线观看| 在线观看av黄网站永久| 国产亚洲情侣一区二区无| 另类小说一区二区三区|