SAStruts(Super Agile Struts)あれこれ

ATOMRSS

S2JDBCでデータベースと戯れましょう。の準備です。

sastruts1.0.4-sp1から、データベースアクセスのサンプルがチュートリアルから無くなってしまったので、「S2JDBCでデータベースと戯れましょう。(ベースはチュートリアルです)」のベースが無い状態になっていまいました。

なので、このベースを構築する手順を記載します。

目次

  1. HSQLDBのダウンロード
  2. HSQLDBのデータベース作成
  3. チュートリアルプロジェクトにHSQLDBのjarファイルを追加
  4. 設定ファイル
  5. 各種クラスファイルの作成


内容

HSQLDBのダウンロード

SourceForge.NetのHSQL Database Engineから、以下のファイルをダウンロードしましょう(バージョンが適宜読み替えて下さい)。
hsqldb_1_8_0_10.zip
ともあれ解凍しましょう。すると、hsqldbフォルダが作成されます。この中のhsqldb/lib/hsqldb.jarにHSQLDB本体、JDBCドライバや管理ツールが同梱されています。になります。

HSQLDBのデータベース作成

ここでは、簡便なIn-Process(Standalone)モードでデータベースを作成します。 先ずは、データベース管理ツールを起動しましょう。MSDOSプロンプトで以下のコマンドを実行します。
java -cp hsqldb.jar org.hsqldb.util.DatabaseManager


すると、以下のようなウインドウが表示されます。

pre_db_sample1.jpg

ので、以下のように設定を行い、[OK]ボタンをクリックしましょう。この時点でc:\\hsqldbフォルダが生成されます。

pre_db_sample2.jpg

すると、以下のような管理画面が表示されます。

pre_db_sample3.jpg

ここで、以下のスクリプトを管理画面の[Execute]ボタン左のテキストエリアに貼り付けましょう。

create table department (
id integer generated by default as identity,
name varchar(255) not null,
version integer not null);


create table address ( id integer generated by default as identity, name varchar(255) not null, version integer not null);

create table employee ( id integer generated by default as identity, name varchar(255) not null, job_type integer, salary integer, department_id integer, address_id integer, version integer not null, constraint fk_department FOREIGN KEY(DEPARTMENT_ID) REFERENCES DEPARTMENT(ID), constraint fk_address FOREIGN KEY(ADDRESS_ID) REFERENCES ADDRESS(ID)); INSERT INTO DEPARTMENT VALUES(1,'ACCOUNTING',1); INSERT INTO DEPARTMENT VALUES(2,'RESEARCH',1); INSERT INTO DEPARTMENT VALUES(3,'SALES',1); INSERT INTO DEPARTMENT VALUES(4,'OPERATIONS',1); INSERT INTO ADDRESS VALUES(1,'STREET 1',1); INSERT INTO ADDRESS VALUES(2,'STREET 2',1); INSERT INTO ADDRESS VALUES(3,'STREET 3',1); INSERT INTO ADDRESS VALUES(4,'STREET 4',1); INSERT INTO ADDRESS VALUES(5,'STREET 5',1); INSERT INTO ADDRESS VALUES(6,'STREET 6',1); INSERT INTO ADDRESS VALUES(7,'STREET 7',1); INSERT INTO ADDRESS VALUES(8,'STREET 8',1); INSERT INTO ADDRESS VALUES(9,'STREET 9',1); INSERT INTO ADDRESS VALUES(10,'STREET 10',1); INSERT INTO ADDRESS VALUES(11,'STREET 11',1); INSERT INTO ADDRESS VALUES(12,'STREET 12',1); INSERT INTO ADDRESS VALUES(13,'STREET 13',1); INSERT INTO ADDRESS VALUES(14,'STREET 14',1); INSERT INTO EMPLOYEE VALUES(1,'ALLEN',1,1600,3,1,1); INSERT INTO EMPLOYEE VALUES(2,'WARD',1,1250,3,2,1); INSERT INTO EMPLOYEE VALUES(3,'JONES',2,2975,2,3,1); INSERT INTO EMPLOYEE VALUES(4,'MARTIN',1,1250,3,4,1); INSERT INTO EMPLOYEE VALUES(5,'BLAKE',2,2850,3,5,1); INSERT INTO EMPLOYEE VALUES(6,'CLARK',2,2450,1,6,1); INSERT INTO EMPLOYEE VALUES(7,'SCOTT',3,3000,2,7,1); INSERT INTO EMPLOYEE VALUES(8,'KING',4,5000,1,8,1); INSERT INTO EMPLOYEE VALUES(9,'TURNER',1,1500,3,9,1); INSERT INTO EMPLOYEE VALUES(10,'ADAMS',0,1100,2,10,1); INSERT INTO EMPLOYEE VALUES(11,'JAMES',0,950,3,11,1); INSERT INTO EMPLOYEE VALUES(12,'FORD',3,3000,2,12,1); INSERT INTO EMPLOYEE VALUES(13,'MILLER',0,1300,1,13,1); INSERT INTO EMPLOYEE VALUES(14,'SMITH',0,800,2,14,1);


そして、[Execute]ボタンをクリックしましょう。その後、管理画面のメニューから[view]→[Refresh Tree]を選択すると、以下のように作成したテーブルがツリーに表示されるようになります。

pre_db_sample4.jpg

データベースの作成は終了です。管理画面を終了させましょう。

チュートリアルプロジェクトにHSQLDBのjarファイルを追加

ダウンロードしたhsqldb.jarを、"sa-struts-tutorial\src\main\webapp\WEB-INF\lib"フォルダーにコピーしましょう。そして、チュートリアルプロジェクトのプロパティから、hsqldb.jarを追加しましょう。

この辺の操作は、MySQLからDoltengでEntityを自動生成しましょうの「2.MySQL Connector/J (JDBCドライバ)を配置」が参考になると思います。

設定ファイル

チュートリアルに同梱されている設定ファイルの中で、以下のファイルを変更します。
・sa-struts-tutorial\src\main\resources\app.dicon
・sa-struts-tutorial\src\main\resources\jdbc.dicon


app.dicon

s2jdbc.diconを読み込むようにコメントオフを解除します。こう↓なります。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.4//EN"
    "http://www.seasar.org/dtd/components24.dtd">
<components>
    <include path="convention.dicon"/>
    <include path="aop.dicon"/>
    <include path="j2ee.dicon"/>
    <include path="s2jdbc.dicon"/>
    <component name="actionMessagesThrowsInterceptor" class="org.seasar.struts.interceptor.ActionMessagesThrowsInterceptor"/>
</components>


jdbc.dicon

HSQLDBへの接続情報の設定と、コネクションプールに関する設定のコメントオフを解除しましょう。また、接続情報のURL属性中のデータベースのファイルパスも変更します。こう↓なります。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE components PUBLIC "-//SEASAR2.1//DTD S2Container//EN"
    "http://www.seasar.org/dtd/components21.dtd">
<components namespace="jdbc">
    <include path="jta.dicon"/>
  
    <!-- for HSQLDB -->
  
    <component name="xaDataSource"
        class="org.seasar.extension.dbcp.impl.XADataSourceImpl">
        <property name="driverClassName">
            "org.hsqldb.jdbcDriver"
        </property>
        <property name="URL">
            "jdbc:hsqldb:file:c:/hsqldb/test"
        </property>
        <property name="user">"sa"</property>
        <property name="password">""</property>
    </component>
  
    <component name="connectionPool"
        class="org.seasar.extension.dbcp.impl.ConnectionPoolImpl">
        <property name="timeout">600</property>
        <property name="maxPoolSize">10</property>
        <property name="allowLocalTx">true</property>
        <destroyMethod name="close"/>
    </component>
  
    <component name="DataSource"
        class="org.seasar.extension.dbcp.impl.DataSourceImpl"
    />
  
</components>


各種クラスファイルのコピー

以下のファイルを追加します。SAStrutsのダウンロードページからsa-struts-tutorial-1.0.4.zipをダウンロードして解凍し、以下のファイルを所定の位置にコピーしましょう。
・sa-struts-tutorial\src\main\java\tutorial\action\EmployeeAction.java
・sa-struts-tutorial\src\main\java\tutorial\form\EmployeeForm.java
・sa-struts-tutorial\src\main\java\tutorial\entity\Address.java
・sa-struts-tutorial\src\main\java\tutorial\entity\Department.java
・sa-struts-tutorial\src\main\java\tutorial\entity\Employee.java
・sa-struts-tutorial\src\main\java\tutorial\entity\JobType.java
・sa-struts-tutorial\src\main\java\tutorial\service\AbstractService.java
・sa-struts-tutorial\src\main\java\tutorial\service\DepartmentService.java
・sa-struts-tutorial\src\main\java\tutorial\service\EmployeeService.java
・sa-struts-tutorial\src\main\webapp\WEB-INF\view\employee\confirm.jsp
・sa-struts-tutorial\src\main\webapp\WEB-INF\view\employee\edit.jsp
・sa-struts-tutorial\src\main\webapp\WEB-INF\view\employee\index.jsp




アップロードしたファイル

プレゼン公開・共有サイト handsOut.jp チーム・マイナス6% - みんなで止めよう温暖化

基本情報

ソースコードID:
597
登録者:
台北猫々
登録日時:
2008/07/30 13:42
最終更新日時:
2009/05/08 22:46
登録ページ数:
106
アクセス数:
83987
タグ:
java mysql json ajax hello sastruts ページング サンプル フレームワーク データベース トークンチェック テンプレート flex validwhen s2jdbc dolteng jaxb リセット s2jdbc-gen 自動生成 一括登録 super agile struts ria tiles 一括更新 jsonic エンティティ
編集権限:
ログインユーザ全員
ブックマーク:
  • codeなにがしブックマークに追加する 0 users
  • このページをはてなブックマークに追加
  • このページを del.icio.us に追加

GoodJob

  • GoodJob
  • 1668

GJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJGJ

GJGJGJGJGJGJGJGJ

編集者一覧

  • 台北猫々

GoodJobしたユーザ

  • ikdk
  • NAT
  • mikeda
  • うさうさ
  • こてつ
  • greennoah
  • とむよん
  • icofit
  • teshimasa4
  • tamr
  • T[]HAL

ブックマークコメント