[[S2Dao-CodeGen]]

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

*使用方法 [#ed9eb2df]

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

**Excelでテーブル定義を記述する [#m5e6bbe8]
テーブル定義の記述には、以下の二通りが使えます。
-Excelのシートの形式 
-[[ERwin:http://www.jsys-products.com/product/al_erwin/]]の出力するCSV形式

**diconファイルを設定する [#sb51693d]
customeize/LoadFile.diconを、入力ファイルの形式およびRDBにあわせて修正します。
***入力ファイルの形式 [#h2bfb54e]
-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ディレクトリにおいてください。

***パッケージ名 [#f5bf5de4]
 <component name="packageName">"org.seasar.codegen"</component>

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

***主キーの指定 [#u161b41c]
-sequenceを使用する場合(デフォルト)
 <component name="identityType">"sequence"</component>
-identityを使用する場合
 <component name="identityType">"identity"</component>
-自動生成しない場合
 <component name="identityType">"assigned"</component>

***RDBの形式 [#h8ea5eb1]
-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>


***テーブル名・カラム名とクラス名・プロパティ名の変換の設定 [#x01d9fcf]
-変換を行わない場合
 <component class="org.seasar.codegen.convert.impl.NullConverterImpl">
 </component>

-大文字→小文字の変換および「_」の削除を行う場合
 <component class="org.seasar.codegen.convert.impl.CamelConverterImpl">
 </component>

|種別|変換前|変換後(NullConverterImpl)|変換後(CamelConverterImpl)|
|Dao|EMPLOYEE_TABLE|EMPLOYEE_TABLEDao|EmployeeTableDao|
|Dto|EMPLOYEE_TABLE|EMPLOYEE_TABLEDto|EmployeeTableDto|
|getter|EMPLOYEE_ID|getEMPLOYEE_ID|getEmployeeId|
|setter|EMPLOYEE_ID|setEMPLOYEE_ID|setEmployeeId|

**DDL生成 [#lfa0a462]
DDLを生成する場合は、
     <initMethod name="add" >
         <arg>"createtable"</arg>
         <arg>"target/gen/createtable"</arg>
     </initMethod>
の部分のコメントアウトを外してください。(H2とDerby以外は指定しないでください)

**ヘッダ生成 [#w3fe404c]
     <component class="org.seasar.codegen.impl.CodeGenConfigImpl" >
         <property name="headerTemplatePath">"test/header.txt"</property>
     </component>

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

**antタスクを実行する。 [#mfae0799]
 ant
でソースが生成されます。(0.2.0 beta-2まではant -f build_sample.xml)

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS