mybatislogsqlxml
① mybatis sql日志打印和mysql版本有关系吗
在文件中的[mysqld]下面增加一行内容
character_set_server = utf8
systemctl restart mysqld
收获不会与付出成反比 by juandx!
② mybatis怎么打印mapper.xml中执行的sql
<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEconfiguration
PUBLIC"-//mybatis.org//DTDConfig3.0//EN"
"
<configuration>
<settings>
<!--打印查询语句-->
<settingname="logImpl"value="STDOUT_LOGGING"/>
</settings>
<!--打印SQL只需要加一个setting就可以了。
mybatis的日志打印方式比较多,SLF4J|LOG4J|LOG4J2|JDK_LOGGING|
COMMONS_LOGGING|STDOUT_LOGGING|NO_LOGGING,可以根据自己的需要进行配置-->
</configuration>
这样就行了
③ mybatis怎么打印mapper.xml中执行的sql
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<settings>
<!-- 打印查询语句 -->
<setting name="logImpl" value="STDOUT_LOGGING" />
</settings>
<!-- 打印SQL只需要加一个setting就可以了。
mybatis的日志打印方式比较多,SLF4J | LOG4J | LOG4J2 | JDK_LOGGING |
COMMONS_LOGGING | STDOUT_LOGGING | NO_LOGGING,可以根据自己的需要进行配置 -->
</configuration>
④ 如何在控制台打印出mybatis sql语句日志
用log4j在控制台输出,在web.xml中配置log4j.properties的路径,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
如果不想打印spring的DEBUG输出请把第一行的DEBUG改为INFO
⑤ 如何控制Mybatis的SQL日志输出
您好,很高兴为您解答。使用环境:Mybatis_3.2.8 + Log4j2_2.1 首先要说明的是:
Mybatis是用Mapper类的全路径名,作为logger的名称的。
Mybatis中,打印SQL语句的日志级别是DEBUG,而打印SQL执行结果集的日志级别是TRACE。
比如,我们的应用是: com.test.app 而mapper类所在的路径为: com.test.app. 则我们可以分别控制应用的业务日志和SQL日志的输出。 如下的Log4j2.xml将输出所有业务日志,以及SQL语句日志
引用
1
2
3
4
5
6
7
8
9
10
<Loggers>
<Logger name="com.test.app." additivity="false" level="DEBUG">
<AppenderRef ref="sql_log"/>
<AppenderRef ref="Console"/>
</Logger>
<Logger name="com.test.app" additivity="false" level="TRACE">
<AppenderRef ref="biz_debug"/>
<AppenderRef ref="Console"/>
</Logger> 您好,很高兴为您解答。使用环境:Mybatis_3.2.8 + Log4j2_2.1 首先要说明的是:
Mybatis是用Mapper类的全路径名,作为logger的名称的。
Mybatis中,打印SQL语句的日志级别是DEBUG,而打印SQL执行结果集的日志级别是TRACE。
比如,我们的应用是: com.test.app 而mapper类所在的路径为: com.test.app. 则我们可以分别控制应用的业务日志和SQL日志的输出。 如下的Log4j2.xml将输出所有业务日志,以及SQL语句日志
引用
1
2
3
4
5
6
7
8
9
10
<Loggers>
<Logger name="com.test.app." additivity="false" level="DEBUG">
<AppenderRef ref="sql_log"/>
<AppenderRef ref="Console"/>
</Logger>
<Logger name="com.test.app" additivity="false" level="TRACE">
<AppenderRef ref="biz_debug"/>
<AppenderRef ref="Console"/>
</Logger>
⑥ mybatis 的xml中sql写is not null检索不到数据,同样sql放到数据库中可以检索到
你看一下你的pic是不是为null....空的话有两种情况...一种是null一种是什么也没有 你看一下你数据库里是那种的...
如果你数据库中不是这种的...那么你用is Null是不行的....
⑦ mybatis怎么打印mapper.xml中执行的sql
mybatis配置可以在任何时候打印SQL ,应该把所有的配置都改为DEBUG模式。
#
log4j.rootCategory=DEBUG,stdout,logfile
log4j.logger.java.sql.PreparedStatement=debug,stdout
log4j.logger.java.sql.ResultSet=debug
#stdoutconfigure
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d%p[%c]-<%m>%n
#logfileconfigure
log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.logfile.File=../logs/jb.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d%p[%c]-<%m>%n
#
#
log4j.logger.org.springframework=debug
#
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
⑧ 如何控制Mybatis的SQL日志输出
首先要说明的是:
Mybatis是用Mapper类的全路径名,作为logger的名称的。
Mybatis中,打印SQL语句的日志级别是DEBUG,而打印SQL执行结果集的日志级别是TRACE。(因为有些SQL可能语句简单,但是结果集很多,分开级别,有利于用户控制输出。)
记住这两点,对控制Mybatis的SQL日志输出很重要。
比如,我们的应用是:
com.test.app
而mapper类所在的路径为:
com.test.app.
则我们可以分别控制应用的业务日志和SQL日志的输出。
如下的Log4j2.xml将输出所有业务日志,以及SQL语句日志
引用
<Loggers>
<Logger name="com.test.app." additivity="false" level="DEBUG">
<AppenderRef ref="sql_log"/>
<AppenderRef ref="Console"/>
</Logger>
<Logger name="com.test.app" additivity="false" level="TRACE">
<AppenderRef ref="biz_debug"/>
<AppenderRef ref="Console"/>
</Logger>
</Loggers>
如下的Log4j2.xml将输出所有业务日志,以及SQL语句日志,SQL语句执行结果日志
引用
<Loggers>
<Logger name="com.test.app." additivity="false" level="TRACE">
<AppenderRef ref="sql_log"/>
<AppenderRef ref="Console"/>
</Logger>
<Logger name="com.test.app" additivity="false" level="TRACE">
<AppenderRef ref="biz_debug"/>
<AppenderRef ref="Console"/>
</Logger>
</Loggers>
⑨ 如何把mybatis sql日志通过logback打到文件里
<appender name="ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 当发生滚动时 TimeBasedRollingPolicy滚动策略 根据时间来制定滚动策略 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 按天回滚 daily -->
<!-- local
<fileNamePattern>/Users/liyixiang/Documents/logs/xxx-xxx-${appPort}-%d{-MM-dd}.log</fileNamePattern>
-->
<!-- log.dir 在maven profile里配置 -->
<fileNamePattern>/logs/xxx-xxx-${appPort}-%d{-MM-dd}.log</fileNamePattern>
<!-- 控制保留的归档文件的最大数量 日志最大的历史 5天 -->
<maxHistory>5</maxHistory>
</rollingPolicy>
<!-- 日志格式化 -->
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - [%msg]%n</pattern>
</encoder>
<p>
</appender>
</p>
<p>
<br>
</p>
<p>
</p><pre class="brush:xml; toolbar: true; auto-links: false;">具体的pattern可以查询logback pattern like this --> </pre>
<p></p>
⑩ 如何关闭mybatis日志
使用环境:Mybatis_3.2.8 + Log4j2_2.1
首先要说明的是:
Mybatis是用Mapper类的全路径名,作为logger的名称的。
Mybatis中,打印SQL语句的日志级别是DEBUG,而打印SQL执行结果集的日志级别是TRACE。
比如,我们的应用是: com.test.app
而mapper类所在的路径为: com.test.app.
则我们可以分别控制应用的业务日志和SQL日志的输出。
如下的Log4j2.xml将输出所有业务日志,以及SQL语句日志
引用
1
2
3
4
5
6
7
8
9
10
<Loggers>
<Logger name="com.test.app." additivity="false" level="<a href="https://www..com/s?wd=DEBUG&tn=44039180_cpr&fenlei=-nHK-4Bmy-bIi4WUvYETgN-" target="_blank" class="-highlight">DEBUG</a>">
<AppenderRef ref="sql_log"/>
<AppenderRef ref="Console"/>
</Logger>
<Logger name="com.test.app" additivity="false" level="<a href="https://www..com/s?wd=TRACE&tn=44039180_cpr&fenlei=-nHK-4Bmy-bIi4WUvYETgN-" target="_blank" class="-highlight">TRACE</a>">
<AppenderRef ref="biz_<a href="https://www..com/s?wd=debug&tn=44039180_cpr&fenlei=-nHK-4Bmy-bIi4WUvYETgN-" target="_blank" class="-highlight">debug</a>"/>
<AppenderRef ref="Console"/>
</Logger>
</Loggers>
如下的Log4j2.xml将输出所有业务日志,以及SQL语句日志,SQL语句执行结果日志
引用
1
2
3
4
5
6
7
8
9
10
<Loggers>
<Logger name="com.test.app." additivity="false" level="<a href="https://www..com/s?wd=TRACE&tn=44039180_cpr&fenlei=-nHK-4Bmy-bIi4WUvYETgN-" target="_blank" class="-highlight">TRACE</a>">
<AppenderRef ref="sql_log"/>
<AppenderRef ref="Console"/>
</Logger>
<Logger name="com.test.app" additivity="false" level="TRACE">
<AppenderRef ref="biz_debug"/>
<AppenderRef ref="Console"/>
</Logger>
</Loggers>