「Seasar」の編集履歴(バックアップ)一覧に戻る
Seasar - (2007/12/04 (火) 00:48:45) のソース
何もないのは悲しいのでリンクを -[[The Seasar Project>http://www.seasar.org/index.html]] #contents() *S2Dao **readXlsAllReplaceDb()と外部キー制約 readXlsAllReplaceDb()は、シートの逆順でテーブルの内容を削除し、シート順でデータを挿入する。 Aテーブルの外部キーがBテーブルの列を指しているとする。Excelのシート順は、B,Aの並びにしないと外部キー制約となる。 &br;&br; **setUp()・setUpXxx()で、readXlsAllReplaceDb()を呼び出すとエラーを吐く setUp()・setUpXxx()で、readXlsAllReplaceDb()を呼び出そうとすると、DataSourceがないとエラーが出る。S2FrameworkTestCaseクラス内で、次のような呼び出しになっているため。setUpAfterContainerInit()が呼ばれて、DataSourceが設定される。&br; それ以前に呼びたいときは、DataSourceを設定するメソッドを自分で呼び出さないといけない。 #highlight(java){{ // S2FrameworkTestCaseクラス /** * @see junit.framework.TestCase#runBare() */ public void runBare() throws Throwable { setUpContainer(); try { setUp(); try { setUpForEachTestMethod(); try { container.init(); try { setUpAfterContainerInit(); try { bindFields(); try { setUpAfterBindFields(); try { doRunTest(); } finally { tearDownBeforeUnbindFields(); } } finally { unbindFields(); } } finally { tearDownBeforeContainerDestroy(); } } finally { container.destroy(); } } finally { tearDownForEachTestMethod(); } } finally { tearDown(); } } finally { tearDownContainer(); } } }} #highlight(java){{ // S2TestCaseクラス protected void setUpAfterContainerInit() throws Throwable { super.setUpAfterContainerInit(); setupDataSource(); } }} &br;