Struts-2-struts-hibernate
Struts 2とHibernateの統合
Hibernateは、オープンソースのGNU Lesser General Public License(LGPL)の下でライセンスされ、無料でダウンロードできる高性能のオブジェクト/リレーショナル永続性およびクエリサービスです。 この章では。 Struts 2とHibernateの統合を実現する方法を学習します。 Hibernateに慣れていない場合は、リンク:/hibernate/index [Hibernateチュートリアル]を確認してください。
データベースのセットアップ
このチュートリアルでは、「struts2_tutorial」MySQLデータベースを使用します。 ユーザー名「root」を使用し、パスワードは使用せずに、マシン上のこのデータベースに接続します。 まず、次のスクリプトを実行する必要があります。 このスクリプトは、*学生*という新しいテーブルを作成し、このテーブルにいくつかのレコードを作成します-
休止状態の設定
次に、hibernateの構成ファイルであるhibernate.cfg.xmlを作成しましょう。
hibernate構成ファイルを見ていきましょう。 まず、MySQLドライバーを使用していることを宣言しました。 次に、データベースに接続するためのjdbc URLを宣言しました。 次に、接続のユーザー名、パスワード、およびプールサイズを宣言しました。 また、「show_sql」をtrueに設定することで、ログファイルにSQLを表示することを示しました。 これらのプロパティの意味を理解するには、Hibernateチュートリアルをご覧ください。
最後に、この章で作成するマッピングクラスをcom.finddevguides.hibernate.Studentに設定します。
環境設定
次に、このプロジェクトには多くのjarが必要です。 添付されている必要なJARファイルの完全なリストのスクリーンショットです-
ほとんどのJARファイルは、Strutsディストリビューションの一部として取得できます。 glassfish、websphere、jbossなどのアプリケーションサーバーがインストールされている場合は、残りのjarファイルの大部分をappserverのlibフォルダーから取得できます。 そうでない場合は、ファイルを個別にダウンロードできます-
- Hibernate jarファイル-http://hibernate.org/[Hibernate.org]
- Struts hibernateプラグイン-https://code.google.com/p/full-hibernate-plugin-for-struts2/downloads/list[Struts hibernateプラグイン]
- JTAファイル-https://www.oracle.com/technetwork/java/javaee/jta/indexl[JTAファイル]
- Dom4jファイル-http://dom4j.sourceforge.net/[Dom4j]
- log4jファイル-https://logging.apache.org/log4j/1.2/[log4j]
残りのファイルは、Struts2ディストリビューションから取得できるはずです。
Hibernateクラス
hibernate統合に必要なJavaクラスを作成しましょう。 以下は Student.java の内容です-
これは、Hibernate仕様に従って student テーブルを表すPOJOクラスです。 学生テーブルの列名に対応するプロパティid、firstName、lastNameがあります。 次に、次のように StudentDAO.java ファイルを作成します-
StudentDAOクラスは、Studentクラスのデータアクセスレイヤーです。 すべての学生をリストし、新しい学生レコードを保存するメソッドがあります。
アクションクラス
次のファイル AddStudentAction.java は、アクションクラスを定義します。 ここには、execute()とlistStudents()の2つのアクションメソッドがあります。 execute()メソッドは、新しい学生レコードを追加するために使用されます。 daoのsave()メソッドを使用してこれを実現します。
もう1つのメソッドlistStudents()は、学生をリストするために使用されます。 daoのlistメソッドを使用して、すべての学生のリストを取得します。
ModelDrivenインターフェイスを実装していることに気づくでしょう。 これは、アクションクラスが個別のプロパティ(firstName、lastNameなど)ではなく、具象モデルクラス(Studentなど)を処理する場合に使用されます。 ModelAwareインターフェイスでは、モデルを返すメソッドを実装する必要があります。 この場合、「学生」オブジェクトを返します。
ビューファイルを作成する
次の内容で student.jsp ビューファイルを作成しましょう-
student.jspは非常に簡単です。 上部のセクションには、「addStudent.action」に送信するフォームがあります。 firstName、lastName、marksを取ります。 addStudentアクションはModelAwareの「AddSudentAction」に関連付けられているため、firstName、lastName、およびマークが自動入力された値を持つ学生Beanが自動的に作成されます。
下部のセクションでは、学生リストを確認します(AddStudentAction.javaを参照)。 リストを反復処理し、名、姓、およびマークを表に表示します。
Struts構成
ここで重要なことは、パッケージ「myhibernate」が「hibernate-default」と呼ばれるstruts2デフォルトパッケージを拡張することです。 次に、addStudentとlistStudentsの2つのアクションを宣言します。 addStudentはAddStudentActionクラスでexecute()を呼び出し、成功するとlistStudentsアクションメソッドを呼び出します。
listStudentアクションメソッドは、AddStudentActionクラスのlistStudents()を呼び出し、student.jspをビューとして使用します。
次に、プロジェクト名を右クリックし、[エクスポート]> [WARファイル] をクリックして、WARファイルを作成します。 次に、このWARをTomcatのwebappsディレクトリにデプロイします。 最後に、Tomcatサーバーを起動して、URL *http://localhost:8080/HelloWorldStruts2/student.jsp にアクセスしてみます。 これにより、次の画面が生成されます-
上部のセクションには、新しい学生レコードの値を入力するフォームがあり、下部のセクションにはデータベース内の学生がリストされています。 先に進み、新しい学生記録を追加して、送信を押します。 [送信]をクリックするたびに、画面が更新され、更新されたリストが表示されます。