Java 如何从注释配置的Mybatis映射器读取生成的sql语句

Java 如何从注释配置的Mybatis映射器读取生成的sql语句,java,spring,mybatis,Java,Spring,Mybatis,我将MyBatis 3.2.3与Spring 3.2.5一起使用,并使用基于注释的配置 我有几个POJO调用生成的映射器接口来执行SQL查询。 是否可以检索映射程序正在执行的SQL语句?如果我使用的是“旧”方法,其中有扩展SqlMapClientDaoSupport的DAO,我可以理解如何做到这一点,但现在我只使用映射器接口,我不确定如何获得对生成的SQL的引用 任何指针都值得欣赏。实际上,在Spring配置的应用程序中不使用插件/拦截器就可以做到这一点: SqlSessionFactory s

我将MyBatis 3.2.3与Spring 3.2.5一起使用,并使用基于注释的配置

我有几个POJO调用生成的映射器接口来执行SQL查询。
是否可以检索映射程序正在执行的SQL语句?如果我使用的是“旧”方法,其中有扩展SqlMapClientDaoSupport的DAO,我可以理解如何做到这一点,但现在我只使用映射器接口,我不确定如何获得对生成的SQL的引用


任何指针都值得欣赏。

实际上,在Spring配置的应用程序中不使用插件/拦截器就可以做到这一点:

SqlSessionFactory s = (SqlSessionFactory) ctx.getBean("sqlSessionFactory");

Configuration configuration = s.getConfiguration(); 
MappedStatement ms = configuration.getMappedStatement("MyStatementId");


BoundSql boundSql = ms.getBoundSql(parameters); // pass parameters for the SQL statement
System.out.println("SQL" + boundSql.getSql());

你考虑过实现吗?@ArunasJunevicius我确实简单地看了一下,但不确定如何使用注释来配置这些功能。如果你认为这是前进的方向,我将继续沿着这些路线进行调查,这是肯定的,甚至在比所描述的更多的方面。而且有可能使用AspectJ拦截几乎所有的坦克。目前我的问题是如何配置插件,尽管我使用的是基于注释的配置,而没有mybatis-config.xml