S2Dao-CodeGen

このページは古いバージョンについて記述しています。現行バージョンについてはhttp://s2dao-codegen.sandbox.seasar.orgを参照してください。

使用方法

0.2から実行環境がJDK5.0以降になりました。(生成したソースはJDK1.4で実行可能)

Excelでテーブル定義を記述する

テーブル定義の記述には、以下の二通りが使えます。

  • Excelのシートの形式
  • ERwinの出力するCSV形式

diconファイルを設定する

customeize/LoadFile.diconを、入力ファイルの形式およびRDBにあわせて修正します。

入力ファイルの形式

  • ERwinの出力するCSVファイルを使う場合
    <component class="org.seasar.codegen.impl.ERWinCSVImportCodeData" >
    </component>
  • 1シート1テーブル形式のExcelシートを使う場合
    <component class="org.seasar.codegen.impl.ExcelImportCodeDataSingleSheet">
    </component>
  • 1シート複数テーブル形式のExcelシートを使う場合
    <component class="org.seasar.codegen.impl.ExcelImportCodeDataMultiSheet">
    </component>
  • データベースのスキーマから生成する場合
    <component class="org.seasar.codegen.impl.DatabaseImportCodeData">
         <property name="schemaName">null</property>
         <initMethod name="addTable">
             <arg>"EMP4"</arg>
         </initMethod>
    </component>

schemaNameはスキーマを指定します。(指定しない場合はnull) addTableメソッドがinitMethodに指定されている場合は、引数に指定したテーブルのみを生成の対象とします。

あとデータソース定義をdicon/jdbc.diconに記述して、JDBCドライバをlibディレクトリにおいてください。

パッケージ名

<component name="packageName">"org.seasar.codegen"</component>

生成するソースのパッケージ名を指定します。

主キーの指定

  • sequenceを使用する場合(デフォルト)
    <component name="identityType">"sequence"</component>
  • identityを使用する場合
    <component name="identityType">"identity"</component>
  • 自動生成しない場合
    <component name="identityType">"assigned"</component>

RDBの形式

  • DB2の場合
    <component class="org.seasar.codegen.dbms.DB2" >
    </component>
  • MySQLの場合
    <component class="org.seasar.codegen.dbms.MySQL">
    </component>
  • Oracleの場合
    <component class="org.seasar.codegen.dbms.Oracle">
    </component>
  • MaxDBの場合
    <component class="org.seasar.codegen.dbms.MaxDB">
    </component>
  • HSQLDBの場合
    <component class="org.seasar.codegen.dbms.HSQL">
    </component>
  • PostgreSQLの場合
    <component class="org.seasar.codegen.dbms.PostgreSQL">
    </component>
  • Derbyの場合
    <component class="org.seasar.codegen.dbms.Derby"> 
    </component>
  • H2の場合
    <component class="org.seasar.codegen.dbms.H2">
    </component>
  • MS SQLServerの場合
    <component class="org.seasar.codegen.dbms.MSSQLServer">
    </component>

テーブル名・カラム名とクラス名・プロパティ名の変換の設定

  • 変換を行わない場合
    <component class="org.seasar.codegen.convert.impl.NullConverterImpl">
    </component>
  • 大文字→小文字の変換および「_」の削除を行う場合
    <component class="org.seasar.codegen.convert.impl.CamelConverterImpl">
    </component>
種別変換前変換後(NullConverterImpl)変換後(CamelConverterImpl)
DaoEMPLOYEE_TABLEEMPLOYEE_TABLEDaoEmployeeTableDao
DtoEMPLOYEE_TABLEEMPLOYEE_TABLEDtoEmployeeTableDto
getterEMPLOYEE_IDgetEMPLOYEE_IDgetEmployeeId
setterEMPLOYEE_IDsetEMPLOYEE_IDsetEmployeeId

DDL生成

DDLを生成する場合は、

    <initMethod name="add" >
        <arg>"createtable"</arg>
        <arg>"target/gen/createtable"</arg>
    </initMethod>

の部分のコメントアウトを外してください。(H2とDerby以外は指定しないでください)

ヘッダ生成

    <component class="org.seasar.codegen.impl.CodeGenConfigImpl" >
        <property name="headerTemplatePath">"test/header.txt"</property>
    </component>

の部分のコメントを外し、プロパティにヘッダのテキストファイルのパスを指定すると、ソースファイルの先頭にヘッダが挿入されます。

antタスクを実行する。

ant

でソースが生成されます。(0.2.0 beta-2まではant -f build_sample.xml)


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-02-27 (土) 02:35:12 (3520d)