ibatis2如何获取sql语句

beiguofengguang 2011-06-13 06:22:41
SqlMapExecutorDelegate delegate=((ExtendedSqlMapClient)(getSqlMapClientTemplate().getSqlMapClient())).getDelegate();
MappedStatement ms = delegate.getMappedStatement("query.getTestResults");
Sql sql = ms.getSql();
SessionScope sessionScope = new SessionScope();
sessionScope.incrementRequestStackDepth();
StatementScope statementScope = new StatementScope(sessionScope);
ms.initRequest(statementScope);
String exmSql = sql.getSql(statementScope, map); //获得运行期sql
sessionScope.cleanup();
ms = null;
sql = null;
sessionScope = null;
statementScope = null;

通过这种方法可以获取到sql语句exmSql,但是参数却没有用map里边的参数替换掉,有没有什么办法可以获取到完整的sql语句?
...全文
169 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xkarvy 2011-07-08
  • 打赏
  • 举报
回复
yewuqing007 二楼这个哥们说的对。

map 的位置传入 你在配置SQL的xml文件中的的 parameterClass='map对象'


beiguofengguang 2011-06-14
  • 打赏
  • 举报
回复
期待高手给于指点
安心逍遥 2011-06-13
  • 打赏
  • 举报
回复
没看懂怎么回事?帮顶,祝楼主好运
dingherry 2011-06-13
  • 打赏
  • 举报
回复
记得以前在Java里是写出方法打印SQL的。。。。呃,记忆力越来越差了,闪
beiguofengguang 2011-06-13
  • 打赏
  • 举报
回复
sql在xml文件中已经配置好,我现在只是想取到实际执行时的sql语句
devin_jia 2011-06-13
  • 打赏
  • 举报
回复
你要映射sql啊

50,503

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧