<?xml version="1.0" encoding="UTF-8"?>
<document>
	<properties>
		<title>S2JDBC - セットアップ</title>
	</properties>
	<body>
		<section name="セットアップ">
			<p></p>
			<ul>
				<li>
					<p>
						<a href="#概要">概要</a>
					</p>
				</li>
				<li>
					<p>
						<a href="#ダイアレクト">ダイアレクト</a>
					</p>
				</li>
				<li>
					<p>
						<a href="#Eclipseのフォーマッタ">Eclipseのフォーマッタ</a>
					</p>
				</li>
			</ul>
		</section>

		<section name="概要">
			<p>
				Seasar2の基本的な
				<a href="setup.html">セットアップ</a>
				をした後に、
				<a href="jdbc.html">JDBCのセットアップ</a>
				をします。
			</p>
			<p>
				S2JDBCの設定は、s2jdbc.diconに対して行ないます。
				s2jdbc.diconは、S2Tiger-2.4.x.zipを解凍してできたs2-tigerのsrc/test/resourcesにあるので、コピーしてCLASSPATHに含めます。
			</p>
			<p>
				s2jdbc.diconの中身は、次のようになっているので、
				dialectプロパティをお使いのデータベースにあわせて書き換えます。
			</p>
			<source><![CDATA[
<?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">hsqlDialect</property>
        <property name="allowVariableSqlForBatchUpdate">true</property>
    </component>
</components>
]]></source>
			<p>
				<code>maxRows, fetchSize, queryTimeout</code>
				は、JdbcManagerのデフォルト値になります。個別のクエリの呼び出し時に上書きすることもできます。
				<a href="s2jdbc_manager_auto.html#最大行数">最大行数</a>
				、
				<a href="s2jdbc_manager_auto.html#フェッチサイズ">フェッチサイズ</a>
				、
				<a href="s2jdbc_manager_auto.html#クエリタイムアウト">クエリタイムアウト</a>
				を参照してください。
			</p>
			<p>
				<code>allowVariableSqlForBatchUpdate
				</code>
				は、
				<a href="s2jdbc_manager_sqlfile.html#S2Dao譲りのSQLファイル">SQLファイル</a>
				を使った
				<a href="s2jdbc_manager_sqlfile#バッチ挿入・更新・削除">バッチ挿入・更新・削除</a>
				でIFコメントや埋め込み変数コメントの使用を許可するかどうかを指定します。詳細は
				<a href="s2jdbc_manager_sqlfile.html#バッチ挿入・更新・削除">バッチ挿入・更新・削除</a>
				を参照してください。
			</p>
			<p>
				s2jdbc.diconは、app.diconでincludeします。
			</p>
			<source><![CDATA[
<?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="s2jdbc.dicon"/>
</components>
]]></source>
		</section>

		<section name="ダイアレクト">
			<p>
				ダイアレクトは次のものが用意されています。サフィックスは、
				<a href="s2jdbc_manager.html#SQLファイルのパス">SQLファイルのパス</a>
				を決めるところで使われます
			</p>
			<table border="1">
				<tbody>
					<tr>
						<th width="200">名前</th>
						<th width="200">説明</th>
						<th width="100">サフィックス</th>
					</tr>
					<tr>
						<td>db2390Dialect</td>
						<td>DB2/390</td>
						<td>_db2</td>
					</tr>
					<tr>
						<td>db2400Dialect</td>
						<td>DB2/400</td>
						<td>_db2</td>
					</tr>
					<tr>
						<td>db2Dialect</td>
						<td>DB2</td>
						<td>_db2</td>
					</tr>
					<tr>
						<td>derbyDialect</td>
						<td>Derby</td>
						<td>_derby</td>
					</tr>
					<tr>
						<td>firebirdDialect</td>
						<td>Firebird</td>
						<td>_firebird</td>
					</tr>
					<tr>
						<td>h2Dialect</td>
						<td>H2</td>
						<td>_h2</td>
					</tr>
					<tr>
						<td>hsqlDialect</td>
						<td>HSQLDB</td>
						<td>_hsql</td>
					</tr>
					<tr>
						<td>interbaseDialect</td>
						<td>Interbase</td>
						<td>_interbase</td>
					</tr>
					<tr>
						<td>maxdbDialect</td>
						<td>MaxDB</td>
						<td>_maxdb</td>
					</tr>
					<tr>
						<td>mssql2005Dialect</td>
						<td>MS SQL Server (2005以降)</td>
						<td>_mssql</td>
					</tr>
					<tr>
						<td>mssqlDialect</td>
						<td>MS SQL Server (2000以前)</td>
						<td>_mssql</td>
					</tr>
					<tr>
						<td>mysqlDialect</td>
						<td>MySQL</td>
						<td>_mysql</td>
					</tr>
					<tr>
						<td>oracleDialect</td>
						<td>Oracle</td>
						<td>_oracle</td>
					</tr>
					<tr>
						<td>postgre81Dialect</td>
						<td>PostgreSQL (8.1以降)</td>
						<td>_postgre</td>
					</tr>
					<tr>
						<td>postgreDialect</td>
						<td>PostgreSQL (8.0以前)</td>
						<td>_postgre</td>
					</tr>
					<tr>
						<td>sqliteDialect</td>
						<td>SQLite</td>
						<td>_sqlite</td>
					</tr>
					<tr>
						<td>standardDialect</td>
						<td>どれにも当てはまらないときに選ぶ標準的なダイアレクト</td>
						<td>
							<br />
						</td>
					</tr>
					<tr>
						<td>sybaseDialect</td>
						<td>Sybase</td>
						<td>_sybase</td>
					</tr>
				</tbody>
			</table>
		</section>

		<section name="Eclipseのフォーマッタ">
			<p>
				S2JDBCの「流れるようなインターフェース」を使ったソースの可読性はソースのフォーマットに影響されます。
				Eclipseを使っている場合は、次のようにフォーマッタを設定すると読みやすくなります。
			</p>
			<ul>
				<li>
					<p>
						ワークスペースの設定を変更するには[Window]-[Properties]でダイアログを開き、左のペインで[Java]-[Code
						Style]-[Formatter]を選択し、右のペインで[Edit]ボタンを押します。
					</p>
				</li>
				<li>
					<p>
						プロジェクトの設定を変更するには[Project]-[Properties]でダイアログを開き、左のペインで[Java
						Code
						Style]-[Formatter]を選択し、右のペインで[Edit]ボタンを押します。
					</p>
				</li>
				<li>
					<p>上のタブで[Line Wrapping]を選択します。</p>
				</li>
				<li>
					<p>
						左のペインのツリーで[Function Calls]を選択し、[Line wrapping
						policy]で[Wrap all
						elements, every element on a
						new line]を、[Indentation
						policy]で[Indent by
						one]を選択します。
					</p>
				</li>
				<li>
					<p>
						ツリーで[Expressions]を選択し、[Line wrapping
						policy]で[Wrap all elements,
						every element on a
						new line]を、[Indentation policy]で[Indent by
						one]を選択します。
					</p>
				</li>
			</ul>
		</section>
	</body>
</document>
