WEFV2626EFCEYYYB15VEF

 

內容簡介

  傳說紛紜的蔣氏家族,霧樣難解的身世之謎;蔣介石果真為河南鄭三發之子?蔣經國與蔣緯國列在哪位夫人名下?王彩玉、毛福梅、宋美齡的一生經歷各為何?本書根據真實史料或親見所聞,上溯蔣氏祖宗的本領,下及蔣氏家族的親朋鄉黨,為您做最確實、完整的報告。

詳細資料

  • ISBN:9576301831
  • 叢書系列:
  • 規格:平裝 / 239頁 / 16k菊 / 14.8 x 21 x 1.2 cm / 普通級 / 單色印刷 / 初版四刷
  • 出版地:台灣
  • 本書分類:> >

 

 

mybatis列印帶參數sql幾種實現方式及優缺點 1. log4jdbc log4jdbc是google開源的用於專們列印sql日誌的工具jar包,使用方法很簡單。 第一步:引入maven包,如下: <dependency> <groupId>com.googlecode.log4jdbc</groupId> <artifactId>log4jdbc</artifactId> <version>1.2</version> </dependency> 第二步:更改jdbc的驅動名稱和連接名稱,主要是標紅部分:(jdbc.properties) driverClassName=net.sf.log4jdbc.DriverSpy jdbcUrl=jdbc:log4jdbc:mysql://192.168.99.11:3306/nf?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&autoReconnect=true&serverTimezone=Asia/Shanghai 第三步:在logback.xml中加入如下配置,各參數說明如下: <!-- 監控sql日誌輸出 logger 描述 jdbc.sqlonly 僅僅記錄 SQL 語句,會將占位符替換為實際的參數 jdbc.sqltiming 包含 SQL 語句實際的執行時間 jdbc.audit 除了 ResultSet 之外的所有JDBC調用信息,篇幅較長 jdbc.resultset 包含 ResultSet 的信息,輸出篇幅較長 jdbc.connection 輸出了 Connection 的 open、close 等信息 --> <logger name="jdbc.sqlonly" level="off" additivity="false"> <appender-ref ref="stdoutAppender"/> </logger> <logger name="jdbc.resultset" level="off" additivity="false"> <appender-ref ref="stdoutAppender"/> </logger> <logger name="jdbc.connection" level="off" additivity="false"> <appender-ref ref="stdoutAppender"/> </logger> <logger name="jdbc.sqltiming" level="off" additivity="false"> <appender-ref ref="stdoutAppender"/> </logger> <logger name="jdbc.audit" level="off" additivity="false"> <appender-ref ref="stdoutAppender"/> </logger> 以上三步log4jdbc就配置好了,默認關閉,需要開啟時將level級別調至debug即可。 2. mybatis 插件工具 在IDEA 應用商店中下載安裝 插件free mybatis plugin即可。 ... 3. mybatis 攔截器 這個是直接利用mybatis攔截器的特性實現 @Intercepts({ @Signature(type = Executor.class, method = "update", args = { MappedStatement.class, Object.class })}) public class ExecutorInterceptor implements Interceptor { private static final Logger logger = LoggerFactory.getLogger(ExecutorInterceptor.class); @Override public Object intercept(Invocation arg0) throws Throwable { Object obj = interceptSqlDuration(arg0); return obj; } /** * 計算sql執行時長 * @param arg0 * @return * @throws InvocationTargetException * @throws IllegalAccessException */ private Object interceptSqlDuration(Invocation arg0) throws InvocationTargetException, IllegalAccessException { MappedStatement mappedStatement = (MappedStatement) arg0.getArgs[0]; Object parameter = null; if (arg0.getArgs.length > 1) { parameter = arg0.getArgs[1]; } String sqlId = mappedStatement.getId; BoundSql boundSql = mappedStatement.getBoundSql(parameter); Configuration configuration = mappedStatement.getConfiguration; Object obj = null; StopWatch watch = new StopWatch; watch.start; obj = arg0.proceed; watch.stop; String sql = MySql5Hepler.showSql(configuration, boundSql); logger.debug(" 執行sql: {} 耗時:{}ms",sql, watch.getTotalTimeMillis); return obj; } @Override public Object plugin(Object arg0) { return Plugin.wrap(arg0, this); } @Override public void setProperties(Properties properties) { } } 以上三種方式,作者推薦使用第一種,後兩種插件的方式可能導致列印的參數和實際執行的參數內容不一致

 

 

WEFV2626EFCEYYYB15VEF

 

 

 

文章來源取自於:

 

 

壹讀 https://read01.com/nE2mNAo.html

博客來 https://www.books.com.tw/exep/assp.php/888words/products/0010033971

如有侵權,請來信告知,我們會立刻下架。

DMCA:dmca(at)kubonews.com

聯絡我們:contact(at)kubonews.com


台中北區霧感染髮推薦髮型設計工作室石岡氧氣瀏海推薦髮廊綠園道附近韓式燙髮推薦髮型設計工作室大肚及肩直髮推薦染髮店
台中南區減齡的燙髮風格學生染髮推薦髮廊 一中商圈推薦耳圈染髮上班族染髮推薦髮廊 2020流行好整理卷髮台中燙髮推薦大肚自然捲毛燥有漂過修改髮型推薦髮廊 新光三越附近韓系厚瀏海推薦染髮店 台中質感色系商業髮色專業髮廊台灣大道附近韓式髮根燙推薦染髮店 龍井微卷髮型修改推薦髮廊 台中北區染髮推薦南屯解決布丁頭髮廊推薦染髮髮廊 太平洋SOGO附近新髮型設計推薦髮廊推薦染髮髮廊 韓式氣墊燙台中燙髮推薦

arrow
arrow
    全站熱搜

    優質商品開箱文 發表在 痞客邦 留言(0) 人氣()