`

MyBatis中SQL语句在Log4j下不显示的问题解决

    博客分类:
  • java
阅读更多
1种: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
2种: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.

但我无论用哪一种写法却都不成功!mybatis官网也找了,百度也谷歌了。最后发现问题根源,项目中有slf4j的包,也在log4j的包,但是没有slf4j-log4j,于是添加如下配置:
<dependency> 
<groupid>log4j</groupid> 
<artifactid>log4j</artifactid> 
<version>1.2.14</version>
</dependency> 

<dependency> 
<groupid>org.slf4j</groupid> 
<artifactid>slf4j-api</artifactid> 
<version>1.6.1</version> 
</dependency>

<dependency> 
<groupid>org.slf4j</groupid> 
<artifactid>slf4j-log4j12</artifactid> 
<version>1.6.1</version>
</dependency>
但由于项目中使用有xmemcached而xmemcached对于slf4j与slf4j-log4j的版本要求有限制,如果报错请采用如上版本。
添加好后将日志级别设置成debug则能成功打印出sql日志,但是会发现xmemcached会不停的打印debug日志,发现这种情况可以根日志级别设置成info,然后使用:
log4j.logger.java.sql.resultset=info
log4j.logger.java.sql.connection=debug
log4j.logger.java.sql.statement=debug
log4j.logger.java.sql.preparedstatement=debug
单独将sql日志级别设置成debug即可。

3种:
a:在spring-mybatis中加下
<!-- myBatis文件 -->
<bean id="sqlSessionFactory1" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource1" />
<!-- 自动扫描entity目录, 省掉Configuration.xml里的手工配置 -->
<property name="mapperLocations" value="classpath:mapping/**/*.xml" />
<property name="configLocation" value="classpath:mybatis-config.xml"></property>
</bean>
b:然后在resouces加入mybatis-config.xml:
内容为:<?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>
</configuration>
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    mybatis查询入门(log4j控制台sql语句日记输出的)

    【标题】"mybatis查询入门(log4j控制台sql语句日记输出的)"涉及的知识点主要集中在MyBatis框架的基础使用以及如何通过Log4j在控制台输出SQL语句,以便于调试和优化数据库操作。MyBatis是一个轻量级的Java持久层框架...

    mybatis+spring 框架中配置日志中显示sql语句

    总结来说,要在MyBatis+Spring框架中配置日志以显示SQL语句,主要步骤包括:选择并添加日志实现库(如SLF4J和Logback),配置日志级别和输出,设置MyBatis的`logImpl`属性为SLF4J,并确保在Spring配置中正确引用...

    mybatis打印SQL的log4j

    4. **运行并查看日志**:完成以上步骤后,当MyBatis执行SQL时,相应的SQL语句以及执行信息将会按照Log4j的配置输出到控制台或其他指定位置。 除了基础配置,我们还可以根据需求调整日志级别,例如在生产环境中可能...

    打印mybatis语句的 log4j文件

    log4j.xml文件,打印详细的mybatis执行过程中的语句

    idea插件mybaits log 打印sql语句

    标题 "idea插件mybaits log 打印sql语句" 涉及的是一个针对IntelliJ IDEA的MyBatis日志插件,它的主要功能是帮助开发者在开发过程中实时查看并打印出MyBatis执行的SQL语句。这个功能对于调试和优化数据库查询非常...

    idea mybatis配置log4j打印sql语句的示例

    要在 IDEA 中配置 MyBatis 打印 SQL 语句,首先需要在 Maven 项目中添加 Log4j 依赖项。下面是 Maven 依赖项的配置: ```xml &lt;groupId&gt;commons-logging &lt;artifactId&gt;commons-logging &lt;version&gt;1.2 &lt;groupId&gt;...

    原样输出mybatis的sql执行语句(mysql和oracle都可用).zip

    在默认情况下,MyBatis并不会直接打印出执行的SQL语句,因此我们需要开启日志功能以获取这些信息。 1. **启用MyBatis日志** MyBatis支持多种日志实现,如Log4j、Logback和Java内置的日志API。在SpringBoot项目中,...

    ideal mybatis打印sql插件

    将日志输出的sql语句中的问号 ? 替换成真正的参数值。 通过 "Tools -&gt; MyBatis Log Plugin" 菜单或快捷键 "Ctrl+Shift+Alt+O" 启用。 点击窗口左边的 "Filter" 按钮,可以过滤不想要输出的sql语句。 点击窗口左边...

    mybatis整合log4j

    在MyBatis中,为了记录SQL语句和执行时间,可以在MyBatis的配置文件`mybatis-config.xml`中设置日志工厂: ```xml ... ... &lt;setting name="logImpl" value="LOG4J"/&gt; ... ... ``` 设置`logImpl`为`LOG4J`...

    Mybatis Log(自动填充sql参数打印到控制台)

    例如,如果你使用的是Log4j,可以在`log4j.properties`或`log4j.xml`文件中配置: ```properties # log4j.properties 示例 log4j.logger.org.apache.ibatis=DEBUG ``` ```xml &lt;!-- log4j.xml 示例 --&gt; ``` 当...

    mybatis打印出sql

    在这个配置中,我们设置了`log4j.logger.org.mybatis`的级别为DEBUG,这意味着MyBatis的所有DEBUG级别的日志信息,包括执行的SQL语句,都会被记录下来。 在MyBatis的配置文件(如`mybatis-config.xml`)中,确保...

    MyBatis基本CRUD与动态SQL(带log4j.properties).zip

    例如,设置`log4j.logger.org.apache.ibatis=DEBUG`将打印出所有执行的SQL语句及其参数,这对于调试和优化SQL性能非常有帮助。 综上所述,MyBatis基本CRUD操作涉及了数据库中的基本操作,而动态SQL则展示了MyBatis...

    maven+springmvc+mybatis+log4j框架搭建

    2. **配置Maven**:在`pom.xml`中添加依赖,包括SpringMVC、MyBatis、Log4j以及数据库驱动等。 3. **配置SpringMVC**:在`web.xml`中配置DispatcherServlet和ContextLoaderListener,然后在Spring的配置文件中声明...

    Mybatis Log SQL输出

    例如,在Log4j的配置文件`log4j.properties`中: ```properties # 配置Mybatis日志输出 logger.org.mybatis=DEBUG ``` 现在,当你运行应用时,Mybatis将会输出执行的SQL语句,包括参数绑定值。这将帮助你跟踪查询...

    打log4j日志-ibatis的sql输出

    在默认情况下,Ibatis并不会自动打印执行的SQL语句,但通过配置,我们可以使Ibatis在运行时输出SQL,这对于调试和性能分析非常有帮助。 要启用Ibatis的SQL日志记录,你需要在Ibatis的配置文件(通常为`mybatis-...

    idea插件-mybatis-打印sql

    "MyBatis Log Plugin"就是为了满足这一需求而设计的,它能直接在IDEA中显示MyBatis执行的SQL,免去了手动开启日志或者查看控制台的繁琐步骤。 接下来,我们按照以下步骤在2021版IntelliJ IDEA上安装此插件: 1. ...

    springmvc4.0+mybatis3.0+log4j整合.rar

    在SpringMVC和MyBatis的整合项目中,Log4j不仅可以记录控制层的处理情况,还可以监控服务层和持久层的执行。在Spring的配置文件中,我们可以定义一个Resource注入Log4j的配置文件,让Spring自动加载。这样,整个项目...

    Mybatis+Log4j

    Mybatis和Log4j是Java开发中常用的两个工具库,它们在实际的项目开发中扮演着重要的角色。Mybatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射,避免了几乎所有的JDBC代码和手动设置参数以及获取...

    mybatis配置文件以及日志文件Log4j

    例如,你可以配置Log4j的日志输出级别为DEBUG,那么在运行时,MyBatis会打印出每个SQL语句及其参数,便于查看和调试。 在实际项目中,MyBatis的配置文件通常会包含以下部分: 1. 数据源配置:定义数据库连接的信息...

    在IDEA中安装MyBatis Log Plugin插件,执行mybatis的sql语句(推荐)

    3. 在插件市场搜索框内输入`MyBatis Log Plugin`,然后在搜索结果中找到对应的插件,通常显示为"MyBatis Log for IDEA"。 4. 点击`Install`按钮进行安装,安装完成后,可能需要重启IDEA以使插件生效。 安装成功后...

Global site tag (gtag.js) - Google Analytics