mybatis打印出sql语句可以很方便我们调试程序。现在介绍两种常用的简单的配置方案,第一种方案是配置log4j日志框架,第二种方案是采用slf4j日志框架。这两种方案存在着联系,第二种方案要依赖第一种方案即slf4j要通过log4j来输出日志信息打印sql语句。
安装log4j,要将log4j.jar添加到build path
配置log4j日志属性文件,这里采用了log4j1.x方式配置lo4j.properties文件
#将Mybatis log4j运行级别调到DEBUG可以在控制台打印出Mybatis运行的sql语句 log4j.rootLogger=DEBUG,Console ### 把日志信息输出到控制台 ### log4j.appender.Console=org.apache.log4j.ConsoleAppender log4j.appender.Console.Target=System.out log4j.appender.Console.layout = org.apache.log4j.PatternLayout log4j.appender.Console.layout.ConversionPattern=%d{yyyy-MM-dd-HH\:mm\:ss,SSS} [%t] [%c] [%p] - %m%n #要和mybatis的Mapper.xml文件namespace保持一致 log4j.logger.org.lian.domain.Group=TRACE log4j.logger.org.lian.domain.Music=TRACE
配置mybatis-config.xml主配置文件,配置日志的log4j的实现
<settings> <!-- 配置开启日志 Log4j --> <setting name="logImpl" value="LOG4J"/> </settings>
配置Mapper.xml映射文件,以GroupMapper.xml文件为例 namespace要和log4j中保持一致
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="org.lian.domain.Group"> <resultMap id="groupResult" type="Group"> <id property="groupId" column="group_id"/> <result property="groupName" column="group_name"/> </resultMap> <!-- <select id="selectGroup" parameterType="String" resultType="Group"> select group_id ,group_name from t_group where group_id = #{group_id} </select> --> <select id="selectGroup" parameterType="String" resultMap="groupResult"> select group_id ,group_name from t_group where group_id = #{group_id} </select> </mapper>
除了上面的方案还有一种方案,我们修改一下mybatis-config.xml主配置
<settings> <setting name="logImpl" value="SLF4J"/> </settings>
上面的其他配置都不用修改,只需要安装slf4j日志组件,将slf4j.api.jar 和 slf4j-log4j12.jar添加包build path,同时要保留log4j.jar。
log4j.properties配置文件中具体的mapper.xml配置也可以不用配置,这样默认打印SQL是DEBUG级别,而且没有详尽的返回结果,如果要查看详尽的信息就要配置成 TRACE
log4j.logger.org.lian.domain.Group=DEBUG log4j.logger.org.lian.domain.Music=DEBUG
上面的配置和省略不写,同样也看到日志信息。
相关推荐
在MyBatis与Spring整合的框架中,为了便于调试和性能优化,我们常常需要在日志中打印出执行的SQL语句。以下是如何在这样的环境中配置日志来显示SQL语句的详细步骤。 首先,我们需要了解MyBatis的日志实现。MyBatis...
把 mybatis 输出的sql日志还原成完整的sql语句。 将日志输出的sql语句中的问号 ? 替换成真正的参数值。 通过 "Tools -> MyBatis Log Plugin" 菜单或快捷键 "Ctrl+Shift+Alt+O" 启用。 点击窗口左边的 "Filter" ...
Mybatis日志中的SQL解析工具(网页版) 说明:复制日志时,必须注意,日志必须包含Preparing:和Parameters:全部内容,而且日志换行格式要保留,不要复制成纯文本,直接ctrl+c即可。
总的来说,通过配置日志框架、MyBatis配置、IDEA设置和使用mybatis-log插件,你可以在IntelliJ IDEA中方便地打印和查看MyBatis执行的完整SQL语句,从而提升开发效率和问题排查能力。在实际项目中,合理使用日志可以...
在执行`getUserByUsernameAndStatus`方法时,Mybatis会自动填充SQL参数,并将完整的SQL语句(包括参数值)打印到控制台。例如,如果传入的参数是`username='test'`和`status='active'`,控制台将输出如下内容: ```...
该工具可以将mybatis输出的sql日志提取出来,并将其格式化为可以直接执行的sql语句,节约开发人员时间
本文将深入探讨如何在SpringBoot(整合MyBatis)和传统的SSM(Spring、SpringMVC、MyBatis)项目中,原样输出MyBatis的SQL执行语句,以便于开发者直观地检查SQL语句是否正确和高效,从而进行优化和调试。此方法对...
在开发过程中,为了调试SQL语句,通常需要查看执行的SQL日志。"MyBatis Log Plugin"就是为了满足这一需求而设计的,它能直接在IDEA中显示MyBatis执行的SQL,免去了手动开启日志或者查看控制台的繁琐步骤。 接下来,...
标题 "idea插件mybaits log 打印sql语句" 涉及的是一个针对IntelliJ IDEA的MyBatis日志插件,它的主要功能是帮助开发者在开发过程中实时查看并打印出MyBatis执行的SQL语句。这个功能对于调试和优化数据库查询非常...
在这个配置中,我们设置了`log4j.logger.org.mybatis`的级别为DEBUG,这意味着MyBatis的所有DEBUG级别的日志信息,包括执行的SQL语句,都会被记录下来。 在MyBatis的配置文件(如`mybatis-config.xml`)中,确保...
适用场景:生产环境从sql日志获取可执行sql语句 使用方法:从日志中获取完整的sql片段(可以前后多复制一部分,确保准确性),打开html文件,粘贴到输入框中点击解析sql,获得可执行的sql
非常好用的,就是你们所要的 Mybatis日志参数快速替换占位符 sql参数替换工具html
在使用iBatis(现为MyBatis)作为持久层框架进行开发时,有时我们需要调试SQL语句,以便查看执行的SQL、优化性能或者解决查询问题。本文将详细讲解如何在iBatis日志信息中打印SQL语句,以便更好地理解和优化数据库...
拦截器监控慢SQL并将完整的可执行的SQL语句打印在日志文件中,复制该SQL语句即可在数据库工具中执行。 使用方法: 找到你springboot项目中的配置文件,增加如下配置即可 application.yml 配置如下: sql: slow...
【标题】"mybatis查询入门(log4j控制台sql语句日记输出的)"涉及的知识点主要集中在MyBatis框架的基础使用以及如何通过Log4j在控制台输出SQL语句,以便于调试和优化数据库操作。MyBatis是一个轻量级的Java持久层框架...
SSM(Spring、SpringMVC、MyBatis)是一个经典的Java web开发框架组合,它将Spring的核心容器、Spring MVC作为视图控制器以及MyBatis作为持久层框架集成在一起,为开发者提供了一种高效且灵活的开发方式。...
MybatisX是一款针对Mybatis框架开发的插件,它的主要功能是帮助开发者在日志中打印出项目的SQL语句,以便于调试、优化数据库查询和理解数据操作的过程。这款插件极大地提升了开发效率,尤其是在处理复杂的业务逻辑和...
运行测试程序(位于`test`包下)时,MyBatis将会按照配置打印出SQL语句及其执行信息,这对于我们理解和优化SQL性能非常有帮助。例如,你可以看到每个SQL语句的执行时间,以及动态SQL生成的实际SQL语句。 在实际应用...
下面是一个简单的示例,演示如何使用 MyBatis 的插件来打印每条 SQL 语句及其执行时间。首先,创建一个名为 SqlCostInterceptor 的类,实现 Interceptor 接口: ```java public class SqlCostInterceptor implements...
设置为`DEBUG`级别后,所有与这些类相关的日志信息,包括SQL语句和参数,都会被打印到控制台。 注意,`debug="false"`表示不开启Logback自身的调试模式,如果需要看到Logback内部的配置信息,可以将其设置为`true`...