如何获取这个代码最终执行的SQL语句? 10C

JAVA

 @Select("SELECT NAME FROM TABLE T WHERE T.FOCUS_ID=#{focusId} AND T.PROS_ID=#{prosupId}")  
public Bypass queryBypass(@Param("focusId") Integer focusId,@Param("prosupId") Integer prosupId);  

在这种执行SQL的过程中怎样查看SQL语句的最终状态是什么样的?也就是参数被替换为具体值的后的SQL
谢谢

2个回答

sql server的话,带有一个profiler实用工具,可以拦截记录所有调用的sql。
mysql也有日志,需要配置:http://jingyan.baidu.com/article/4f34706ee3e700e387b56dd7.html

这个,Java里只能通过日志来看到最终的SQL,看不到参数值的。因为语句被数据库编译后,只需要传参数了。
可以试试把#{}换成${} ,再看日志,因为#{}是预编译参数设定,${}是字符串替换。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问