@Slf4j
@Intercepts({
@Signature(type = StatementHandler.class, method = "prepare", args = {Connection.class, Integer.class})
})
public class MyPlugin implements Interceptor {
Transaction transaction;
//方法拦截
@Override
public Object intercept(Invocation invocation) throws Throwable {
//通过StatementHandler获取执行的sql
StatementHandler executor = (StatementHandler) invocation.getTarget();
ParameterHandler parameterHandler = executor.getParameterHandler();
parameterHandler.getParameterObject();
BoundSql boundSql = executor.getBoundSql();
List<ParameterMapping> parameterMappings = boundSql.getParameterMappings();
if (!CollectionUtils.isEmpty(parameterMappings)) {
ParameterMapping parameterMapping = parameterMappings.get(0);
Class clazz = parameterMapping.getClass();
Field field
mybatis打印执行的sql语句
最新推荐文章于 2024-08-13 13:58:18 发布
本文介绍如何在MyBatis中启用SQL语句的打印,以便于调试和优化。通过配置日志实现查询日志的显示,详细讲解了在Java应用中设置日志的步骤,帮助开发者更好地理解MyBatis执行的数据库操作。
摘要由CSDN通过智能技术生成