SSH2 DAO注入sessionfactory的方式汇总
方法一:在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">

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

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

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

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

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

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

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

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

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

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