<span class="Apple-style-span" style="line-height: 150%;">Seasar-user リスト管理人へ</span><br><br><span class="Apple-style-span" style="line-height: 150%;">いつもお世話になっております。</span><br><span class="Apple-style-span" style="line-height: 150%;">iafandaです。</span><br><br><div style="font-size: 14px; line-height: 150%; ">dbflute実行用のsql文取得方法について聞きたいです。</div><div><div><span class="Apple-style-span" style="line-height: 21px;">sqlを実行する前にsql文を取得して、データベースに出力したいですが,</span></div><div><span class="Apple-style-span" style="line-height: 21px;">&nbsp; &nbsp; &nbsp; &nbsp; MemberCB cb = new MemberCB();</span></div><div><span class="Apple-style-span" style="line-height: 21px;">&nbsp; &nbsp; &nbsp; &nbsp; String beforeSql = cb.toDisplaySql();</span></div><div><span class="Apple-style-span" style="line-height: 21px;">上記のように</span><span class="Apple-style-span" style="line-height: 21px; ">sql実行する前に</span><span class="Apple-style-span" style="line-height: 21px; ">sql文を取得できますが、以下のメッソドを実行する前にsql文を取得する方法を教えてください。</span></div><div><span class="Apple-style-span" style="line-height: 21px;">&nbsp; &nbsp; &nbsp; &nbsp; memberBhv.insert(member);</span></div><div><span class="Apple-style-span" style="line-height: 21px;">&nbsp; &nbsp; &nbsp; &nbsp; memberBhv.update(member);</span></div><div><span class="Apple-style-span" style="line-height: 21px;"><br></span></div><div><span class="Apple-style-span" style="line-height: 21px;">なお以下のsqlを実行する前にsql文を取得する方法もわからないです。</span></div><div><span class="Apple-style-span" style="line-height: 21px;">① mZipBhv.outsideSql().selectList(MZipBhv.PATH_TESTTBL001, null,TESTTBL001.class);</span></div><div><span class="Apple-style-span" style="line-height: 21px;">② TESTTbl006Pmb pmb = new TESTTbl006Pmb();</span></div><div><span class="Apple-style-span" style="line-height: 21px;">&nbsp; &nbsp;pmb.setZip(zip);</span></div><div><span class="Apple-style-span" style="line-height: 21px;">&nbsp; &nbsp;mZipBhv.outsideSql().execute(MZipBhv.PATH_TESTTBL002, pmb);</span></div><div><span class="Apple-style-span" style="line-height: 21px;"><br></span></div><div><span class="Apple-style-span" style="line-height: 21px;"><br></span></div><div><span class="Apple-style-span" style="line-height: 21px;"><br></span></div><div><span class="Apple-style-span" style="line-height: 21px;">dbflute-basic-exampleからsql文を取得する方法がありますが、いずれもsqlを実行する後sql文を取得する方法です。</span></div><div><span class="Apple-style-span" style="line-height: 21px;">① &nbsp; &nbsp;String displaySql = TnSqlLogRegistry.peekCompleteSql();</span></div><div><span class="Apple-style-span" style="line-height: 21px;"><br></span></div><div><span class="Apple-style-span" style="line-height: 21px;">② &nbsp; &nbsp;public void test_SqlLogHandler_basic() {</span></div><div><span class="Apple-style-span" style="line-height: 21px;">&nbsp; &nbsp; &nbsp; &nbsp; // ## Arrange ##</span></div><div><span class="Apple-style-span" style="line-height: 21px;">&nbsp; &nbsp; &nbsp; &nbsp; final List&lt;String&gt; displaySqlList = new ArrayList&lt;String&gt;();</span></div><div><span class="Apple-style-span" style="line-height: 21px;">&nbsp; &nbsp; &nbsp; &nbsp; CallbackContext callbackContext = new CallbackContext();</span></div><div><span class="Apple-style-span" style="line-height: 21px;">&nbsp; &nbsp; &nbsp; &nbsp; callbackContext.setSqlLogHandler(new SqlLogHandler() {</span></div><div><span class="Apple-style-span" style="line-height: 21px;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; public void handle(String executedSql, String displaySql, Object[] args, Class&lt;?&gt;[] argTypes) {</span></div><div><span class="Apple-style-span" style="line-height: 21px;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; assertNotNull(executedSql);</span></div><div><span class="Apple-style-span" style="line-height: 21px;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; assertNotNull(displaySql);</span></div><div><span class="Apple-style-span" style="line-height: 21px;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; displaySqlList.add(displaySql);</span></div><div><span class="Apple-style-span" style="line-height: 21px;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</span></div><div><span class="Apple-style-span" style="line-height: 21px;">&nbsp; &nbsp; &nbsp; &nbsp; });</span></div><div><span class="Apple-style-span" style="line-height: 21px;">&nbsp; &nbsp; &nbsp; &nbsp; CallbackContext.setCallbackContextOnThread(callbackContext);</span></div><div><span class="Apple-style-span" style="line-height: 21px;"><br></span></div><div><span class="Apple-style-span" style="line-height: 21px;">&nbsp; &nbsp; &nbsp; &nbsp; try {</span></div><div><span class="Apple-style-span" style="line-height: 21px;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // ## Act ##</span></div><div><span class="Apple-style-span" style="line-height: 21px;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MemberCB cb = new MemberCB();</span></div><div><span class="Apple-style-span" style="line-height: 21px;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cb.query().setMemberName_PrefixSearch("AAA");</span></div><div><span class="Apple-style-span" style="line-height: 21px;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; memberBhv.selectCount(cb);</span></div><div><span class="Apple-style-span" style="line-height: 21px;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cb.query().setMemberName_PrefixSearch("BBB");</span></div><div><span class="Apple-style-span" style="line-height: 21px;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; memberBhv.selectList(cb);</span></div><div><span class="Apple-style-span" style="line-height: 21px;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cb.query().setMemberName_PrefixSearch("CCC");</span></div><div><span class="Apple-style-span" style="line-height: 21px;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; memberBhv.selectCount(cb);</span></div><div><span class="Apple-style-span" style="line-height: 21px;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cb.query().setMemberName_PrefixSearch("DDD");</span></div><div><span class="Apple-style-span" style="line-height: 21px;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; memberBhv.selectList(cb);</span></div><div><span class="Apple-style-span" style="line-height: 21px;"><br></span></div><div><span class="Apple-style-span" style="line-height: 21px;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // ## Assert ##</span></div><div><span class="Apple-style-span" style="line-height: 21px;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; log("[Display SQL]");</span></div><div><span class="Apple-style-span" style="line-height: 21px;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; log("- - - - - - - - - - - - - - - - - - ");</span></div><div><span class="Apple-style-span" style="line-height: 21px;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for (String displaySql : displaySqlList) {</span></div><div><span class="Apple-style-span" style="line-height: 21px;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; log(displaySql);</span></div><div><span class="Apple-style-span" style="line-height: 21px;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; log("- - - - - - - - - - - - - - - - - - ");</span></div><div><span class="Apple-style-span" style="line-height: 21px;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }</span></div><div><span class="Apple-style-span" style="line-height: 21px;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; assertEquals(4, displaySqlList.size());</span></div><div><span class="Apple-style-span" style="line-height: 21px;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; assertNull(SqlLogRegistryLocator.getInstance()); // This doesn't use SqlLogRegistry</span></div><div><span class="Apple-style-span" style="line-height: 21px;">&nbsp; &nbsp; &nbsp; &nbsp; } finally {</span></div><div><span class="Apple-style-span" style="line-height: 21px;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; CallbackContext.clearCallbackContextOnThread();</span></div><div><span class="Apple-style-span" style="line-height: 21px;">&nbsp; &nbsp; &nbsp; &nbsp; }</span></div><div><span class="Apple-style-span" style="line-height: 21px;">&nbsp; &nbsp; }</span></div></div><div style="font-size: 14px; line-height: 150%; "><br></div><div style="font-size: 14px; line-height: 150%; ">よろしくお願いいたします。<br><br></div>