ホームページ データベース 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 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

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 のアドレスバーから不要な URL を削除するにはどうすればよいですか? Chrome のアドレスバーから不要な URL を削除するにはどうすればよいですか? Mar 08, 2024 am 09:19 AM

Chrome は、アドレス バーに入力された URL を自動的に記録し、今後は自動的に「クエリの内容を関連付け」ます。しかし、多くの場合、一部の URL は必要ありません。それらを削除するにはどうすればよいでしょうか?編集者はこの問題によく遭遇し、以前に入力したアドレスがよく使用されるアドレスの前でブロックされ、目的の Web サイトにアクセスするために何度も選択する必要があります。削除する方法を少なくとも3回は探しました...毎回忘れてしまうので。 Chrome の公式ヘルプ Chrome キーボード ショートカットのアドレス バー ショートカットでは、削除ショートカット キーが明確になっています: ▍Windows はアドレス バーの関連付けのコンテンツを削除します。下矢印キーを押して対応するコンテンツを強調表示し、Shift+Delete キーを押します。 ▍macOSアドレスバーの関連付けコンテンツを削除します クリックダウン

win10のインプットメソッドを削除する方法 win10のインプットメソッドを削除する方法 詳しい紹介 win10のインプットメソッドを削除する方法 win10のインプットメソッドを削除する方法 詳しい紹介 Jul 07, 2023 pm 05:33 PM

win10 の入力方法は以前のシステム バージョンに比べて大きく進歩しており、非常に便利な機能がたくさんあります。全体的に非常にスムーズに使用でき、記憶入力機能もあります。ただし、一部のユーザーはすでに独自の入力方法を使用しています。さて、組み込みの win10 インプット メソッドを削除したい場合、どのようにして win10 インプット メソッドを削除しますか?今日は、win10 インプット メソッドを削除する方法について詳しく説明します。 win10 で入力メソッドを削除する方法 1. [Win+i] を押して設定インターフェイスを開き、[時刻と言語] オプションをクリックします。 2. [地域と言語] をクリックし、右側の [中国語] の下にある [オプション] ボタンをクリックします。 3. [Microsoft Pinyin Alphabet] オプションをクリックすると、[削除] ボタンが表示されます。

win7で復元ポイントを設定する方法 win7で復元ポイントを設定する方法 Jul 20, 2023 am 10:33 AM

win7 システムは Microsoft の伝統的なオペレーティング システムであり、win7 システム復元ポイントの機能など、多くの実用的な機能を備えています。 win7で復元ポイントを設定すると、システムをwin7の復元ポイントに復元して、システム修復の目的を達成できます。 Winで復元ポイントを設定するにはどうすればよいですか?次のエディタでは、win7 で復元ポイントを設定する方法を説明します。 win7 で復元ポイントを設定する方法 1. デスクトップのショートカットを見つけて右クリックし、[プロパティ] を選択します。 2. プロパティ設定を入力した後、[Advanced System Configuration] を選択します。 3. ポップアップのシステム プロパティ ボックスでシステム メンテナンス オプションを選択します。 4. クリックして、システム保護をオンにしたコントローラーの復元ポイントを作成します。 5. 復元ポイントの説明を追加し、[作成] をクリックし、しばらくお待ちください。復元ポイントが正常に確立されたら、[閉じる] をクリックします。次回はシステムを復元できます。

iPhoneでショートカットを使用する方法 iPhoneでショートカットを使用する方法 Nov 29, 2023 am 09:06 AM

これらのショートカットは、iPhone のさまざまな用途に使用できます> 効率性と利便性の追求が中心となっている、ダイナミックで変化の速い今日の世界において、iPhone のショートカット アプリは非常に強力なツールとして際立っています。日常業務を簡素化してスピードアップし、生産性を大幅に向上させるように設計されています。このアプリは非常に順応性が高く、ユーザーは貴重な時間を消費する日常的で反復的なアクションを自動化できます。さらに、個人のニーズや好みに合わせてパーソナライズされたコマンドを調整するツールも提供します。ショートカット アプリで特に注目に値するのは、Apple のスマート アシスタントである Siri との統合です。この機能により、直感的な音声の使用が可能になります。

XPシステムからWin7システムをアップグレードする方法 XPシステムからWin7システムをアップグレードする方法 Jul 13, 2023 am 08:53 AM

XP システムはマイクロソフトが昔にリリースしたコンピュータ システムと言えます。現在、XP システムを使用している人はほとんどいません。重要なのは、古いコンピュータで使用することです。多くのネチズンは XP システムを Win7 にアップグレードしたいと考えていますが、 XP システムを win7 にアップグレードする方法がわかりません。実際の操作手順を以下に示します。 1. 初心者向けの 3 ステップのコンピュータ インストール ソフトウェアをダウンロードしてインストールし、開きます。win7 システムを選択し、クリックして再インストールします。すぐに。 2. ツールが win7 システムを自動的にダウンロードするまで待ちます。 3. ダウンロード後すぐに Windows システムをオンラインで再インストールします。プロンプトに従ってください。 4. インストールが完了したら、すぐに再起動することを選択できます。 5. 実行メニュー バーに入り、2 番目の項目 XiaoBaiPE-MSDNOnlineIns を選択します。

Go言語の型変換にはどのような方法があるのでしょうか? Go言語の型変換にはどのような方法があるのでしょうか? Jun 11, 2023 am 09:05 AM

インターネット業界で Go 言語の人気が高まるにつれ、ますます多くの開発者がこの言語に関わり始めています。 Go 言語では、型変換も一般的なプログラミング操作の 1 つです。この記事では、一般的な型変換方法をいくつか紹介します。タイプ アサーション タイプ アサーションは、インターフェイスの型を別の型に変換する操作です。 Go 言語では、次の構文を使用して型アサーションを行うことができます: value,ok:=interface{}.(type) ここで、value は変換された値を表し、o

Go言語の信号処理方式にはどのようなものがあるのでしょうか? Go言語の信号処理方式にはどのようなものがあるのでしょうか? Jun 11, 2023 pm 12:28 PM

Go言語の信号処理方式にはどのようなものがあるのでしょうか? Go 言語は、ネイティブ同時実行機能を備えた効率的で簡潔なプログラミング言語であり、ネットワーク プログラミング、分散システム、クラウド コンピューティングなどの分野で広く使用されています。 Go 言語では、プロセス間通信はパイプとシグナルを通じて実装されます。この記事では、Go 言語におけるシグナルの使い方とその処理方法を紹介します。シグナルの概要 シグナルは、オペレーティング システムが非同期イベントをプロセスに送信するために使用するメカニズムです。 Unix/Linux オペレーティング システムでは、プロセスに特定のメッセージを通知するためにシグナルがよく使用されます。

See all articles