[[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)