簡體   English   中英

如何從注釋配置的Mybatis映射器讀取生成的sql語句

[英]how to read generated sql statement from annotation-configured Mybatis mapper

我將MyBatis 3.2.3與Spring 3.2.5結合使用,並具有基於注釋的配置。

我有一些POJO,它們調用生成的Mapper接口來執行SQL查詢。
是否可以檢索映射器正在執行的SQL語句? 如果我使用的是DAO擴展了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());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM