首頁 資料庫 mysql教程 SSH2 DAO注入sessionfactory的方式汇总

SSH2 DAO注入sessionfactory的方式汇总

Jun 07, 2016 pm 03:00 PM
dao 方式 注入

方法一:在spring配置文件中,为继承HibernateDaoSupport的DAO注入sessionFactory Spring为Hibernate的DAO提供工具类:HibernateDaoSupport。该类主要提供如下两个方法,方便DAO的实现: public final HibernateTemplate getHibernateTemplate() public fina

方法一:在spring配置文件中,为继承HibernateDaoSupport的DAO注入sessionFactory

Spring为Hibernate的DAO提供工具类:HibernateDaoSupport。该类主要提供如下两个方法,方便DAO的实现:    public final HibernateTemplate getHibernateTemplate()

 public final void setSessionFactory(SessionFactory sessionFactory)

其中,setSessionFactory方法用来接收Spring的ApplicationContext的依赖注入,可接收配置在Spring的SessionFactory实例,getHibernateTemplate方法则用来根据刚才的SessionFactory产生Session,最后生成HibernateTemplate来完成数据库访问。

典型的继承HibernateDaoSupport的DAO实现的代码如下:

public class PersonDAOHibernate extends HibernateDaoSupport implements PersonDAO

{

    //采用log4j来完成调试时的日志功能

private static Log log = LogFactory.getLog(NewsDAOHibernate.class);

         //返回全部的人的实例

    public List getPersons()

         {       

                   //通过HibernateTemplate的find方法返回Person的全部实例

           return getHibernateTemplate().find("from Person");

    }

         /**

          * 根据主键返回特定实例

          * @ return 特定主键对应的Person实例

          * @ param 主键值

    public News getPerson(int personid)

         {

           return (Person)getHibernateTemplate().get(Person.class, new Integer(personid));

    }

         /**

          * @ person 需要保存的Person实例

          */

    public void savePerson(Person person)

         {                

                   getHibernateTemplate().saveOrUpdate(person);

    }

         /**

          * @ param personid 需要删除Person实例的主键

          * /

    public void removePerson(int personid)

         {

                   //先加载特定实例

           Object p = getHibernateTemplate().load(Person.class, new Integer(personid));

                   //删除特定实例

           getHibernateTemplate().delete(p);

    }

}

可以与前面的PersonDAOHibernate对比,会发现代码量大大减少。事实上,DAO的实现依然借助于HibernateTemplate的模板访问方式,只是,HibernateDaoSupport将依赖注入SessionFactory的工作已经完成,获取HibernateTemplate的工作也已完成。该DAO的配置必须依赖于SessionFactory,具体的配置如下:

/p>

    "http://www.springframework.org/dtd/spring-beans.dtd">

        

        

                  

           com.mysql.jdbc.Driver

                                   

           jdbc:mysql://wonder:3306/j2ee

                  

           root

                  

           pass

   

        

          

                                     lee/Person.hbm.xml

               

          

          

          

                   

                                    

                                     org.hibernate.dialect.MySQLDialect

                                    

                         update

                   

       

          

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1321
25
PHP教程
1269
29
C# 教程
1249
24
Go 語言的時間處理方式有哪些? Go 語言的時間處理方式有哪些? Jun 10, 2023 pm 09:42 PM

Go語言作為一個現代化的程式語言,時間在開發中佔有很重要的地位。 Go語言提供了一些內建的時間函數和結構體,使得時間的處理變得更加便捷。在本篇文章中,將會介紹一些Go語言常用的時間處理方式。 time.Now()我們可以使用time.Now()函數取得目前的時間:now:=time.Now()fmt.Println(now)輸出:2019-06-131

如何刪除 Chrome 網址列中不需要的網址? 如何刪除 Chrome 網址列中不需要的網址? Mar 08, 2024 am 09:19 AM

Chrome會自動在網址列中記錄曾經輸入過的網址,並且會在未來自動“聯想查詢內容”,但很多時候我們並不需要一些網址,如何刪掉它們呢?小編常常遇到這樣的困擾,曾經輸入過的地址,會擋在常用地址的前面,導致需要選好幾次才能進入需要的網站。為此我也找過至少3次如何刪除了,因為…每次都會忘記。在Chrome官方幫助Chrome鍵盤快捷鍵的地址列快捷鍵中,就明確了刪除快捷鍵:▍Windows刪除地址列聯想內容按向下箭頭鍵以突出顯示相應內容,然後按Shift+Delete鍵▍macOS刪除地址欄聯想內容按向下

如何在 iPhone 上使用快捷方式 如何在 iPhone 上使用快捷方式 Nov 29, 2023 am 09:06 AM

这些快捷方式可用于iPhone上的各种不同事情&gt;在当今充满活力和快速发展的世界中,对效率和便利性的追求占据了中心位置,iPhone上的快捷指令应用程序脱颖而出,成为一种非常强大的工具。它旨在简化和加速日常任务,显著提高工作效率。这个应用程序具有令人难以置信的适应性,使用户能够自动执行那些消耗宝贵时间的平凡、重复的动作。此外,它还提供了根据个人需求和偏好量身定制个性化命令的工具。Shortcuts应用程序特别引人注目的是它与Apple的智能助手Siri的集成。此功能允许使用直观的语音

DAO Tokyo — 多鏈治理的基礎 DAO Tokyo — 多鏈治理的基礎 Aug 25, 2024 pm 09:47 PM

DAO 東京第五次小組討論(也是我們上一次的活動報告)深入探討了第 2 層 (L2) 擴展解決方案中複雜的治理世界

win7設定還原點的方式 win7設定還原點的方式 Jul 20, 2023 am 10:33 AM

win7系統是微軟的傳統作業系統,有許多實用功能,例如win7系統還原點的作用。 win7設定還原點,可以win7還原系統到還原點,達到系統修復的目的。 win如何設定還原點?下面小編教你win7設定還原點的方式。 win7設定還原點的方式1.找到桌面電腦捷徑,右鍵選擇屬性。 2.進入屬性設定後,選擇進階系統配置。 3.在彈出的系統屬性框中選擇系統維護選項。 4.點選立即為開啟系統保護的控制器建立還原點。 5.新增還原點的描述,然後點選建立,耐心等待一會兒,成功建立還原點,然後點選關閉,下次應用還原系統可

win10輸入法怎麼刪除win10輸入法怎麼刪除方式詳細介紹 win10輸入法怎麼刪除win10輸入法怎麼刪除方式詳細介紹 Jul 07, 2023 pm 05:33 PM

win10輸入法對比前邊的好多個系統版本而言進步很大,且有許多十分有用的作用,總體應用下去也特別的流通,有著記憶力鍵入的作用,但是有些客戶已經有了自身良好習慣的輸入法了,要刪除內建的win10輸入法,那樣win10輸入法怎麼刪除呢,今天就告訴大家關於win10輸入法怎麼刪除方式詳細介紹的具體內容。 win10輸入法怎麼刪除1、按【Win+i】開啟設定介面,點選在其中的「時間與語言」選項。 2、點選“地區和言語”,在右邊點選“漢語”下的“選項”按鍵。 3.點選「微軟拼音字母」選項就會發生「刪除」按鍵,

xp系統升級win7系統的方式 xp系統升級win7系統的方式 Jul 13, 2023 am 08:53 AM

xp系统可以说成微软很早以前出的电脑上系统,现阶段应用的人非常少,关键是在老电脑上应用.有许多网民想将xp系统升级win7应用,可是不清楚xp系统怎么升级win7.下边就演试下实际的操作步骤.1、下载安裝新手三步电脑装机版手机软件并开启,选择win7系统,点一下马上重新安装。2、等候专用工具全自动下载win7系统。3、下载进行后立即开展在线重装Windows系统,请依据提醒实际操作。4、安裝结束后,可以选择马上重新启动。5、进到运行菜单栏,选择第二项XiaoBaiPE-MSDNOnlineIns

Go 語言中的型別轉換有哪些方式? Go 語言中的型別轉換有哪些方式? Jun 11, 2023 am 09:05 AM

隨著Go語言在網路產業的逐漸流行,越來越多的開發者開始涉足這門語言。而在Go語言中,型別轉換也是常見的程式設計操作之一。本文將介紹一些常見的類型轉換方式。類型斷言類型斷言是將介面類型轉換為其他類型的操作。在Go語言中,類型斷言可以使用下列語法進行:value,ok:=interface{}.(type)其中value表示轉換後的值,o

See all articles