SAStruts(Super Agile Struts)あれこれ

ATOMRSS

MySQLからS2JDBC-Genで各種クラスを自動生成しましょう(Eclipse編)

目次

    • 1.DoltengプラグインでEclipseプロジェクト"s2jdbc-gen-examples"を作成します。
    • 2.MySQL Connector/J (JDBCドライバ)を配置
    • 3.S2JDBC用のDICONファイルを作成
      • s2jdbc.dicon
      • jdbc.dicon
    • 4.S2JDBC-Gen実行
  • おまけ的



今回はDolteng+S2JDBC-Genで、各種クラス(Entity, Service, Condition, Test)ソースの自動生成を試してみます。
ここでは、EclipseのAnt機能を使用します。

データベースはMySQLのインストール後の設定で構築したMySQL環境を使用します。

エンティティクラスの生成も併せて参考にして下さい。

前提:Doltengプラグインは、バージョン0.32.0以上であること。当バージョン未満では、S2JDBC-Gen関係のファイルが生成されません。


1.DoltengプラグインでEclipseプロジェクト"s2jdbc-gen-examples"を作成します。

設定項目を以下のようにして作成しましょう。

gen_eclipse1_1.jpg

この時点で、S2JDBC-GenおよびS2JDBC-Genが使用するJarファイルが"s2jdbc-gen-examples\lib"フォルダにコピーされ、また、S2JDBC-Gen用のAntビルドファイルが"s2jdbc-gen-examples\s2jdbc-gen-build.xml"としてコピーされます。

2.MySQL Connector/J (JDBCドライバ)を配置

S2JDBC-GenがEntityクラスを自動生成する際には、MySQLデータベースに接続してカタログ情報を取得します。なので、実行時にはJDBCドライバが必要になります。

環境・必要なモジュール準備でダウンロードした"mysql-connector-java-5.1.6-bin.jar"を "s2jdbc-gen-examples\src\main\webapp\WEB-INF\lib"フォルダにコピーします。


チェック!1.、2.を行うと以下のようなフォルダ/ファイル配置になります。 gen_eclipse1_2.jpg

3.S2JDBC用のDICONファイルを作成

"s2jdbc-gen-examples\src\main\resources\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="jdbc.dicon"/>
	<include path="s2jdbc-internal.dicon"/>
	<component name="jdbcManager" class="org.seasar.extension.jdbc.manager.JdbcManagerImpl">
		<property name="maxRows">0</property>
		<property name="fetchSize">0</property>
		<property name="queryTimeout">0</property>
		<property name="dialect">mysqlDialect</property>
	</component>
</components>


"s2jdbc-gen-examples\src\main\resources\jdbc.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 namespace="jdbc">
	<include path="jta.dicon"/>
	<component name="xaDataSource"
		class="org.seasar.extension.dbcp.impl.XADataSourceImpl">
		<property name="driverClassName">
			"com.mysql.jdbc.Driver"
		</property>
		<property name="URL">
			"jdbc:mysql://localhost:3306/sastruts"
		</property>
		<property name="user">"sastruts"</property>
		<property name="password">"sastruts"</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>


4.S2JDBC-Gen実行

S2JDBC-Genマニュアル:Antタスクの実行を参考にして以下のように作業を進めます。

"s2jdbc-gen-examples\s2jdbc-gen-build.xml"ファイルをEclipseのAntエディタで開き、Eclipseメニューから「Run」-「外部ツール」-「外部ツールダイアログを開く」を選択します。外部ツールダイアログが開きます。

gen_eclipse1_3.jpg

左側のメニューにある「Antビルド」という項目をダブルクリックすると、s2jdbc-gen-build.xmlに対する起動設定が新規作成されます。その後、引数に"gen-entity"を指定します。
※できない場合は、手動で新規作成しましょう。

gen_eclipse1_4.jpg

実行ボタンをクリックしましょう。ずらずらとコンソールに生成処理のログを出力されます。最終的に、
~~~~
[gen-service] DEBUG 2008-09-09 18:48:06,875 [main] S2Containerを作成しました。path=jdbc.dicon
[gen-service] DEBUG 2008-09-09 18:48:06,875 [main] S2Containerを作成します。path=s2jdbc-internal.dicon
[gen-service] DEBUG 2008-09-09 18:48:06,875 [main] S2Containerを作成します。path=convention.dicon
[gen-service] DEBUG 2008-09-09 18:48:06,890 [main] S2Containerを作成しました。path=convention.dicon
[gen-service] DEBUG 2008-09-09 18:48:06,890 [main] S2Containerを作成しました。path=s2jdbc-internal.dicon
[gen-service] DEBUG 2008-09-09 18:48:06,921 [main] S2Containerを作成しました。path=s2jdbc.dicon
[gen-service] INFO  2008-09-09 18:48:07,031 [main] Running on [ENV]ut, [DEPLOY MODE]Warm Deploy
[gen-service] DEBUG 2008-09-09 18:48:07,125 [main] コマンド(org.seasar.extension.jdbc.gen.internal.command.GenerateServiceCommand)を実行しました。
BUILD SUCCESSFUL
Total time: 7 seconds
と表示されればOKです。

生成したファイルは、Eclipseのパッケージエクスプローラービューにすぐに表示されませんので、パッケージエクスプローラービュー中のプロジェクトフォルダを左クリックしてF5キー(更新)を押し、ファイルシステムと同期させましょう。そうすると、パッケージエクスプローラービューに生成したファイルが表示されます。

以下のように各種クラス(Entity, Service, Condition, Test)のソースが生成されます。 gen_eclipse1_5.jpg

う~ん。これはハイパー簡単ですね。さらにDoltengでここでの手順を自動的に出来てしまうと、なお良いというのは贅沢でしょうか?

おまけ的

今回、初めてAntツールを使っているわけなのですが、こんな便利なコマンドがあるのですね。ビルドファイル内に記述すると、環境変数のリストがコンソールに表示されます。
<echoproperties/>

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

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

基本情報

ソースコードID:
597
登録者:
台北猫々
登録日時:
2008/07/30 13:42
最終更新日時:
2009/05/08 22:46
登録ページ数:
106
アクセス数:
79052
タグ:
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

ブックマークコメント