> 文章列表 > mybatis-plus sql日志

mybatis-plus sql日志

mybatis-plus sql日志

什么是MyBatis-Plus?

MyBatis-Plus是一个优秀的持久化框架,它是基于MyBatis进行封装的,可以使开发者更加便捷的进行SQL实现。MyBatis-Plus在MyBatis的基础上添加了大量的实用功能,并对其进行了性能优化。MyBatis-Plus的使用可以极大地提高开发效率和代码的可读性。MyBatis-Plus包含了许多可以使用的组件,包括代码生成器、分页插件、逻辑删除、性能分析插件等等。

为什么需要MyBatis-Plus SQL日志

MyBatis-Plus SQL日志是指输出SQL执行情况日志,它可以方便我们查询SQL执行的结果,也有助于我们进行SQL调优和错误排查。开发中,我们经常要查看SQL执行情况日志,通过日志的输出可以很快地发现程序中存在的问题。在使用MyBatis-Plus的过程中,输出SQL执行情况日志也是必不可少的一环。

如何使能MyBatis-Plus SQL日志?

使能MyBatis-Plus SQL日志非常简单,只需要在application.yml配置文件中添加如下配置即可:

mybatis-plus:  configuration:    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl    log-enable: true  

其中,设置log-impl为日志输出的类型,这里我们选择了stdout(标准输出流)。另外,我们需要将log-enable设置为true,表示开启SQL日志输出功能。

MyBatis-Plus SQL日志的输出效果如何?

启用MyBatis-Plus SQL日志后,就可以在控制台上看到每条SQL的执行情况了。下面是一段输出样例:

Preparing: SELECT * FROM user WHERE name = ? AND age = ?Parameters: xiaohong(String), 18(Integer)2022-03-18 09:58:25.520 DEBUG 3561 --- [           main] o.s.jdbc.core.JdbcTemplate            : SQL query parameter count: 22022-03-18 09:58:25.523 DEBUG 3561 --- [           main] o.s.jdbc.core.JdbcTemplate            : Executing SQL query [SELECT * FROM user WHERE name = ? AND age = ?]2022-03-18 09:58:25.532 DEBUG 3561 --- [           main] o.s.jdbc.core.JdbcTemplate            : Found 1 result(s) for query [SELECT * FROM user WHERE name = ? AND age = ?]

这里首先会输出正在准备执行的SQL语句和参数,接着会输出执行情况的详细信息,包括参数数量、执行的SQL语句和执行结果。通过这些信息,我们可以更加方便地进行SQL调试和错误排查。

如何优化MyBatis-Plus SQL日志?

MyBatis-Plus SQL日志默认输出的日志类型是DEBUG,这是最详细的日志等级,正确性也是最高的,但是输出的内容也会比较繁琐。如果你觉得日志输出太多,可以将日志等级调低,比如改成INFO等,可以在application.yml配置文件中修改:

logging:  level:    root: info    com.baomidou.mybatisplus: debug    

其中root是全局的log level,com.baomidou.mybatisplus是MyBatis-Plus的日志级别。

在开发和测试环境中,我们可以选择DEBUG的日志级别,方便调试和错误排查,而在生产环境中,我们可以将日志等级降为WARN或者INFO等,避免过度输出日志导致压力增大。