引言: 在项目中使用了MyBatis,一个比较苦恼的问题是无法看到执行的SQL的具体情况,所以,就找到了Log4jdbc-log4j2。这个是一个基于jdbc层面的监听工具,可以监听对于数据库的主要操作,从而完美的查看到其中执行的操作。
1. Log4jdbc-log4j2版本选择
- log4jdbc-log4j2-jdbc3.jar for JDBC 3 support in JDK 1.5
- log4jdbc-log4j2-jdbc4.jar for JDBC 4 support in JDK 1.6
- log4jdbc-log4j2-jdbc4.1.jar for JDBC 4.1 support in JDK 1.7
2. 如何引入到项目?
如果项目是基于Maven工具,则可以直接使用如下依赖,即可完美解决问题:
<!-- log4jdbc -->
<dependency>
<groupId>org.bgee.log4jdbc-log4j2</groupId>
<artifactId>log4jdbc-log4j2-jdbc4.1</artifactId>
<version>1.16</version>
</dependency>
二、相关配置文件
log4jdbc.log4j2.properties 或者 application-dev.properties
log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
jdbc驱动和url修改为
db.driverClassName=net.sf.log4jdbc.sql.jdbcapi.DriverSpy db.url=jdbc:log4jdbc:mysql://localhost:3306/wechat_talk?useUnicode=true&characterEncoding=utf-8
log4j的相关配置xml或properties
logback.xml(部分),因log4jdbc比较老还不支持log4j2的配置,如果使用则全部输出
<!-- sql 以及耗费的执行时间 --> <logger name="jdbc.sqltiming" level="INFO" additivity="false"></logger> <!-- 执行之后的返回结果 --> <logger name="jdbc.resultsettable" level="INFO"></logger> <!-- 只有sql --> <logger name="jdbc.sqlonly" level="OFF"></logger> <logger name="jdbc.audit" level="OFF"></logger> <logger name="jdbc.resultset" level="OFF"></logger> <!-- 能看到数据库的连接数 --> <logger name="jdbc.connection" level="OFF"></logger>
若使用log4j2,需要到官网下https://code.google.com/archive/p/log4jdbc/downloads载最新版本1.2的jar,maven库中没有
以上配置修改maven依赖,添加jar包或者自己搭建私服nexus
替换
spring.datasource.driverClassName=net.sf.log4jdbc.DriverSpy
log4j2.xml
<!-- sql 以及耗费的执行时间 --> <logger name="jdbc.sqltiming" level="INFO" additivity="false"></logger> <!-- 执行之后的返回结果 --> <logger name="jdbc.resultsettable" level="INFO"></logger> <!-- 只有sql --> <logger name="jdbc.sqlonly" level="OFF"></logger> <logger name="jdbc.audit" level="OFF"></logger> <logger name="jdbc.resultset" level="OFF"></logger> <!-- 能看到数据库的连接数 --> <logger name="jdbc.connection" level="OFF"></logger>
相关推荐
这可能包括了Spring Boot的配置、MyBatis的Mapper接口和XML映射文件,以及如何通过log4jdbc-log4j2展示SQL语句的执行。在实际操作中,你可以根据这个示例来理解和学习如何在自己的项目中实现相同的功能。
Log4jdbc是Apache Log4j的一个扩展,专门用于记录Java应用程序执行的SQL语句。它可以在不改变代码的情况下,收集和记录数据库查询的日志,这对于性能分析、问题排查以及理解应用程序数据库交互行为非常有用。在项目...
`log4j-core-2.3.jar`是Log4j的具体实现,而`log4j-1.2.17.jar`则是旧版本的Log4j,用于兼容老代码。`slf4j-api-1.7.25`是简单日志门面,允许用户在运行时选择任何日志实现。 2. **MyBatis核心库**:`mybatis-3.4.4...
例如,你可以配置Log4j的日志输出级别为DEBUG,那么在运行时,MyBatis会打印出每个SQL语句及其参数,便于查看和调试。 在实际项目中,MyBatis的配置文件通常会包含以下部分: 1. 数据源配置:定义数据库连接的信息...
log4j.logger.jdbc.sqltiming=DEBUG ``` 上述配置将使得Ibatis的SQL语句及其执行时间被输出到控制台。`%d{ABSOLUTE}`是时间戳,`%5p`是日志级别,`%c{1}`是类名,`%L`是行号,`%m`是日志消息,`%n`是换行符。 通过...
本文将深入探讨如何在SpringBoot 2.x版本中整合Mybatis,并利用Log4j进行日志记录。 首先,让我们了解SpringBoot与Mybatis整合的基本步骤: 1. **添加依赖**:在`pom.xml`文件中,我们需要引入Spring Boot的...
MyBatis是一个流行的Java持久层框架,它简化了与数据库交互的过程,允许开发者将SQL语句直接集成到Java代码中。这个压缩包包含了MyBatis框架运行所必需的jar包,同时也提供了log4j和MySQL数据库连接所需的库,以及...
7. **运行时日志输出**:在运行项目时,Mybatis会根据Log4j的配置打印相应的日志信息,包括SQL语句、参数绑定、执行时间等,这对于调试和性能优化非常有帮助。 总的来说,Mybatis和Log4j的结合使得我们能够方便地...
MyBatis-Plus内部使用了MyBatis的日志工厂,该工厂支持多种日志框架,包括SLF4J、Apache Commons Logging、Log4j 2、Log4j、JDK logging以及无日志模式。默认情况下,MyBatis会尝试按照上述顺序找到可用的日志实现。...
Log4j 可以用来显示 Mybatis 的 SQL 语句。下面是一个基本的 Mybatis 显示 SQL 语句配置: ``` log4j.logger.org.mybatis=DEBUG log4j.logger.cn.tibet.cas.dao=DEBUG log4j.logger.org.mybatis.common.jdbc....
《SpringMVC 4.0 + MyBatis 3.0 整合及Log4j日志记录详解》 在当今的Java Web开发领域,SpringMVC和MyBatis是两个非常重要的框架,它们分别负责控制层和持久层的操作。SpringMVC提供了强大的MVC模式支持,而MyBatis...
这里提到的四个关键配置文件——`spring-mvc.xml`、`spring-mybatis.xml`、`web.xml`以及`log4j.properties`,对于一个基于Java的Web应用来说至关重要,特别是使用Spring MVC和MyBatis框架的时候。接下来,我们将...
综合以上信息,我们可以得出这个压缩包包含了一个基于MyBatis 3.4.1的Java项目,使用了MySQL数据库(通过5.1.7版本的JDBC驱动连接),并且日志系统依赖于Log4j 1.2.17。项目中的XML映射文件和配置文件遵循了MyBatis...
3. **MyBatis**:MyBatis是一个持久层框架,它允许开发者编写SQL语句并将其与Java代码集成,避免了JDBC的繁琐操作。在本项目中,MyBatis负责数据库交互,通过Mapper接口和XML配置文件,实现了数据的增删改查操作。`...
在Java开发中,MyBatis、MySQL和Log4j是三个非常重要的库,它们各自扮演着不同的角色,为开发者提供便利。以下是对这三个组件的详细解释: 1. MyBatis: MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程...
下面将详细阐述SSM框架、Log4j日志管理、事务控制以及MyBatis的基础Dao配置。 首先,Spring框架作为核心,负责依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP)。通过注解...
通过配置Log4j,我们可以让MyBatis打印出执行的每个SQL语句及其参数,这对于理解和优化数据库查询性能非常有帮助。例如,如果你发现某个查询运行缓慢,你可以查看Log4j生成的日志,找出对应的SQL语句,然后进行优化...
6. **log4j-core-2.0-rc1.jar**:Log4j是一个广泛使用的日志记录框架,用于收集和记录应用程序运行时的信息。这里可能是用于日志记录的支持库。 7. **spring-test-4.2.4.RELEASE.jar**:Spring的测试模块,提供了对...
默认情况下,MyBatis会通过日志系统打印出执行的SQL语句,但直接在控制台查看并不直观。此时,“idea2020mybatis log插件”就显得尤为重要。该插件能够实现在IDEA中实时查看并分析MyBatis执行的SQL语句,帮助开发者...
- MyBatis的核心思想是将SQL语句与Java代码分离,通过XML或注解的方式将SQL与Java对象绑定,提供了一种灵活的数据库操作方式。 - MyBatis的主要组件包括SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession...