目录问题描述
在使用mybatis进行开发的时候,由于可以动态拼接sql,这样大大方便了我们。
但是也有一定的问题,当我们动态sql拼接的块很多的时候,我们要想从*mapper.xml中直接找出完整的sql就会非常的难,这个时候经常会需要把组合之后的完整sql调试出来比较好。
下面来看两种调试出sql的两种方式
解决方案
方案一
1:首先将ibatis log4j运行级别调到DEBUG可以在控制台打印出ibatis运行的sql语句
2:添加如下语句:
- ###显示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.config.xml中增加如下配置:
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE configuration
- PUBLIC "-//mybatis.org//DTD SQL Map Config 3.0//EN"
- "http://mybatis.org/dtd/mybatis-3-config.dtd">
-
- <configuration>
- <settings>
- <setting name="logImpl" value="STDOUT_LOGGING" />
- </settings>
- </configuration>
复制代码
以上mybatis 调试出sql的两种方式。
在SpringBoot中,修改application.yml文件
- mybatis:
- configuration:
- log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
复制代码
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持晓枫资讯。 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |