亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
  • (1)創建Hibernate的配置文件(hibernate.cfg.xml) (2)創建持久化類 (3)創建對象-關系映射文件 (4)通過HIbernate API編寫訪問數據庫的代碼 導入hibernate必須的jar包:hibernate-release-4.2.4.Final\lib\required; 導入Mysql的JDBCjar包:mysql-connecttor-java-5.1.7-bin.jar; 導入Junit4的jar包:junit-4.10.jar
    查看全部
  • 總結: 0.Junit類的執行順序是@Before(初始化方法)|@Test(測試方法)|@After(關閉資源) 任何想要測試的方法都寫在@Test中,注意!區分大小寫的,首字母必須大寫 一般@After都是destory()方法,用于關閉數據及一些善后操作。 1.剛開始插入數據,需要將cfg.xml文件里面的hbm2ddl.auto改為create,而不影響表結構的則用update.【create會覆蓋原來的表而upadte只是更新表】 2.關于testSaveStudents里面的幾個問題: 2.1當hbm.xml文件中的<generator class="native"></generator>為native時,不管你給setId設置任何值都不起作用,因為他是根據你本地的數據庫來決定的,如果是mysql就是increment自動增長賦值(從1開始),若是oracle則是采用序列賦值。 2.2自動提交事務的寫法 session.doWork(new Work(){ @Override public void execute() throws SQLException{ Connetcion.setAutoCommit(true);//自動提交事務 } }); 【注】使用了自動提交事務,就不需要開啟事務[transcation = seesion.beginTransaction();]以及提交事務[transaction.commit();] 3.如果不是自動提交事務,需要開啟事務以及提交。因為沒有提交的話,他只是保存到Session對象中而沒有提交到數據庫中,所以數據庫中的信息是沒有變化的,所以刪、改都需要開啟事務才行??! 【如果只進行保存操作,自動提交事務即可。若還需要其他的操作,還是需要在外面開啟事務對象】 4.get和load的區別 4.1 get是馬上提交并返回信息,打不打印s都會返回信息 而load需要打印s才能返回信息?!咀ⅲ喝绻阈枰猻的完整信息,需要在 stuents類中去重寫toString()方法即可】 4.2 當沒有數據返回時,get返回null,load會報錯。
    查看全部
  • get與load區別2
    查看全部
  • get和load方法的區別1
    查看全部
  • 關于時間與日歷類型的映射
    查看全部
  • 基本類型在XXX.hbm.xml中的type的寫法
    查看全部
  • 單一主鍵:指表中由某一列來充當主鍵。 assigned:由java應用程序負責生成(手工賦值) native:由底層數據庫自動生成標識符,跟數據庫密切相關。如果是mysql就是increment,如果是oracle就是sequence[序列]... assigned是指主鍵是由人工分配的,而native則指主鍵值由庫自動給出。
    查看全部
  • openSession與getCurrentSession的區別: 1.getCurrentSession在事務提交或者回滾之后會自動關閉,而openSession需要你手動關閉。如果使用openSession而沒有手動關閉,多次之后會導致連接池溢出。 2.openSession每次創建新的session對象,getCurrentSession使用現有的session對象
    查看全部
  • 2種方法獲得session: 1)session = sessionFactory.openSession(); 2)session = sessionFactory.getCurrentSession(); ---------------------------注:-------------------------------------- 如果是使用getCurrentSession需要在hibernate.cfg.xml文件中進行配置: 1)如果是本地事務(idbc事務) <propertyname="hibernate.current_session_context_class">thread</property> 2)如果是全局事務(jta事務) <propertyname="hibernate.current_session_context_class">jta</property> ----------------------------------------------------------------------- 一篇關于這方面的博客;(值得研究?。。?http://aubergine-kang.iteye.com/blog/1306054http://aubergine-kang.iteye.com/blog/1306054 結論: (1)openSession()得到得session可以在顯式開啟事務的環境中使用,也可以在不開啟事務的環境中使用(進行查詢);getCurrentSession()必須在顯式開啟事務環境中使用。 (2)openSession()是否顯式開啟事務決定了session得到連接的時機不同。不開啟事務的情況下數據庫連接是在創建Statement時獲得。因此在配置二級緩存的情況get()對象時,如果二級緩存中有需要的對象時,不會占用數據庫連接。相反開啟事務的情況下,無論二級緩存中是否有對象,多會占用數據庫連接。 (3)getCurrentSession()總會占用數據庫連接。
    查看全部
  • 1.hibernate對數據的操作都是封裝在事務當中,并且默認是非自動提交的方式。若果保存對象時,不開啟事務,并且手工提交事務,對象并不會真正保存在數據庫中。如果想hibernate像jdbc那樣自動提交事務,必須調用session對象的doWork()方法,獲得jdbc的connection后,設置其為自動提交事務模式。
    查看全部
    0 采集 收起 來源:transaction簡介

    2016-12-05

  • hibernate不建議直接使用jdbc的connection操作數據庫,而是通過使用session操作數據庫。 session與connection是多對一關系,每個session都有一個與之對應的connetion,一個connection不同時刻可以供多個session使用。
    查看全部
    0 采集 收起 來源:session簡介

    2016-12-05

  • hibernate執行流程
    查看全部
    0 采集 收起 來源:session簡介

    2016-12-05

  • hibernate.cfg.xml常用配置。
    查看全部
  • Junit測試調用順序 1.先執行@Before:初始化方法 2.再執行@Test:測試方法 3.最后執行@After:釋放資源
    查看全部
  • 1.創建hibernate Configuration File【cfg.xml】文件 2.創建持久化類 2.1必須是個公有的類 2.2提供公有的不帶參數的默認的構造方法 2.3屬性私有 2.4屬性setter/getter封裝 3.創建Hibernate XML Mapping file【hbm.xml】文件 4.在cfg.xml文件中配置<mapping resource="Students.hbm.xml"></mapping>
    查看全部

舉報

0/150
提交
取消
課程須知
小伙伴們,學習本門課程前需要具備Java基礎知識和面向對象編程思想,并能夠熟練使用JDBC操作Mysql數據庫。
老師告訴你能學到什么?
1、理解ORM模型 2、掌握Hibernate基本概念 3、能夠熟練創建Hibernate實例

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!