我需要从NamedParameterJdbcTemplate中获取发送到数据库的最终sql查询。例如:spring NamedParameterJdbcTemplate get(final)sql查询替换参数
Select * from tbl where name = :name
我需要的是这样的:
Select * from tbl where name ='mark'
感谢很多
我需要从NamedParameterJdbcTemplate中获取发送到数据库的最终sql查询。例如:spring NamedParameterJdbcTemplate get(final)sql查询替换参数
Select * from tbl where name = :name
我需要的是这样的:
Select * from tbl where name ='mark'
感谢很多
就让我们来看看at the source code https://github.com/spring-projects/spring-framework/blob/master/spring-jdbc/src/main/java/org/springframework/jdbc/core/namedparam/NamedParameterJdbcTemplate.java所有查询通过'getParsedSql' method获取和NamedParameterUtils
解析。
Select * from tbl where name = :name
可能会得到转化为类似
Select * from tbl where name = ?
和参数将被设置为单独的对象,因为这是JDBC是如何工作的。
如果你只是想检查语句,你可以添加一些断点,并看看。如果您想实际获取值,则可以更改代码,以便通过反射或实际使用您自己的'NamedparameterJdbcTemplate'版本访问该代码。
请注意,您不可能看到您的期望。
请提供更多的上下文信息,尝试[mcve]。 – Yunnosch