當前位置:首頁 » 編程語言 » mybatissql列印

mybatissql列印

發布時間: 2022-06-05 14:11:52

Ⅰ 怎麼列印mybatis的sql語句

MyBatis自己內部使用的是Log4j,但實際上支持用戶使用各種Log技術。如果配置正確的話,也就是啟用debug級別即可列印所有的MyBatis的語句。比如,在我的web程序中,使用logback,maven依賴如下:


<!--log-begin-->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>1.6.1</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>0.9.27</version>
</dependency>
<!--log-end-->

Ⅱ mybatis中sql語句怎麼列印

log4j.rootLogger=DEBUG, stdout

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[service] %d - %c -%-4r [%t] %-5p %c %x - %m%n

#log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
#log4j.appender.R.File=../logs/service.log
#log4j.appender.R.layout=org.apache.log4j.PatternLayout
#log4j.appender.R.layout.ConversionPattern=[service] %d - %c -%-4r [%t] %-5p %c %x - %m%n

#log4j.logger.com.ibatis = debug
#log4j.logger.com.ibatis.common.jdbc.SimpleDataSource = debug
#log4j.logger.com.ibatis.common.jdbc.ScriptRunner = debug
#log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate = debug
#log4j.logger.java.sql.Connection = debug
log4j.logger.java.sql.Statement = debug
log4j.logger.java.sql.PreparedStatement = debug
log4j.logger.java.sql.ResultSet =debug

Ⅲ 如何在mybatis中列印sql

mybatis列印sql 用於在後台列印執行的sql,在applicationContext.xml中的<bean
id="sqlSessionFactory" 標簽中添加:
<property name="configLocation"
value="classpath:mybatis-config.xml" /> 即可列印sql語句 此方法僅用於開發調試,配置之後請勿提交!

Ⅳ 如何列印mybatis的sql語句

#將ibatis log4j運行級別調到DEBUG可以在控制台列印出ibatis運行的sql語句
log4j.rootLogger=debug,stdout,logfile
### 把日誌信息輸出到控制台 ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
#log4j.appender.stdout.Target=System.err
log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout
### 把日誌信息輸出到文件:jbit.log ###
log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=D:/test.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %F %p %m%n

###顯示SQL語句部分
log4j.logger.com.ibatis=DEBUG
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG
log4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUG
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG

Ⅳ mybatis怎麼列印sql語句

此處使用log4j,加入jar包,然後在src路徑下加入:log4j.properties文件
填入以下配置就可以列印了
log4j.rootLogger=DEBUG, Console
#Console
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
log4j.logger.java.sql.ResultSet=INFO
log4j.logger.org.apache=INFO
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG

Ⅵ 如何讓mybatis列印出執行的sql

log4j配置一下,把sql日誌打到一個獨立的日誌文件里

Ⅶ 怎麼列印mybatis的sql

怎麼列印mybatis的sql
mybatis默認使用log4j,當有self4j這個日誌jar包存在時會無法列印sql,請移除或者在工程啟動時顯示設置mybatis使用的日誌類:
log4j.logger.org.apache.ibatis=debug,stdout log4j.logger.java.sql=debug,stdout

Ⅷ mybatis xml怎麼列印sql

想要列印工程項目中所有sql並判斷是否帶有where條件就比較明晰了,直接上代碼:
@Resource
private SqlSessionFactory sqlSessionFactory;
@Test
public void test_check() {
Configuration configuration = sqlSessionFactory.getConfiguration();
System.out.println("#sql.size#" + configuration.getMappedStatements().size());
Set<String> errors = Sets.newHashSet();
int i = 1;
for (Object obj : configuration.getMappedStatements()) {
if (obj instanceof MappedStatement) {
MappedStatement mappedStatement = (MappedStatement) obj;
String sql = mappedStatement.getSqlSource().getBoundSql(new SqlParamMap()).getSql();
sql = sql.replaceAll("\n", "");
sql = sql.replaceAll("\\s+", " ");
System.out.println(String.format("#sql,#%02d #%s #%s", i++, mappedStatement.getSqlCommandType(), sql));
if (!sql.toLowerCase().startsWith("insert") && !sql.toLowerCase().startsWith("select")
&& !sql.toLowerCase().startsWith("replace")) {
if (!sql.toLowerCase().contains("where")) {
errors.add(sql);
}
}
}
}
System.err.println("#error#" + errors.size());
for (String errorSql : errors) {
System.err.println(errorSql);
}
}

// 這里為了方便生成sql時,解析入參對象的
public static class SqlParamMap extends AbstractMap<String, Object> implements Map<String, Object> {
@Override
public Set<Entry<String, Object>> entrySet() {
return Collections.emptySet();
}
@Override
public Object get(Object key) {
return new Object[] {1, 2};
}
}

Ⅸ mybatis 怎麼列印sql

其實很簡單,列印SQL只需要加一個setting就可以了。親測可用。
mybatis-config.xml:

<settings>
        <setting name="cacheEnabled" value="true" />
        <!-- 列印sql日誌 -->
        <setting name="logImpl" value="STDOUT_LOGGING" />
    </settings>
    <typeAliases>
        <!-- 指定實體類 別名掃描包,mapper.xml文件中只需要寫上實體類名即可,不區分大小寫 -->
        <package name="com.renrenhua.user.entity"/>
    </typeAliases>

mybatis的日誌列印方式比較多,SLF4J | LOG4J | LOG4J2 | JDK_LOGGING | COMMONS_LOGGING | STDOUT_LOGGING | NO_LOGGING,可以根據自己的需要進行配置

熱點內容
蘋果手機如何存儲word 發布:2025-02-09 02:23:02 瀏覽:780
安卓手機如何有蘋果的emoji 發布:2025-02-09 02:11:02 瀏覽:807
編譯原理已知語言求文法習題 發布:2025-02-09 02:05:15 瀏覽:132
中國首個具有世界影響力的編譯器 發布:2025-02-09 01:56:21 瀏覽:720
tomcat上傳超時 發布:2025-02-09 01:41:42 瀏覽:483
androidactivity豎屏 發布:2025-02-09 01:41:40 瀏覽:377
家庭配置怎麼合理 發布:2025-02-09 01:36:14 瀏覽:807
頭條軍事源碼 發布:2025-02-09 01:31:53 瀏覽:997
androidintent視頻 發布:2025-02-09 01:31:43 瀏覽:858
歐姆龍plc密碼如何設置 發布:2025-02-09 01:24:31 瀏覽:687