我通过执行jdbc.update(sql,params)得到一个错误,我希望看到正在执行jdbc.update的sql,而是使用最终值:执行前在sql中的param。 / p>
是否有任何JdbcTemplate方法允许这样做?
public boolean create(User user) {
BeanPropertySqlParameterSource params =
new BeanPropertySqlParameterSource(user);
String sql = "INSERT INTO t_user (username, password, email)"
+ " VALUES (:username, :password, :email)";
return jdbc.update(sql, params) == 1;
}
我需要获取将执行jdbcTemplate的sql,它类似于
INSERT INTO t_user (username, password, email)
VALUES ("name", "password", "joe@mail.com")
我需要这个来检查sql是否正确,因为我有太多参数可以手工完成所有这些。
答案 0 :(得分:0)
这是我在代码中的方式
String DELETE_BY_ID_QUERY = "delete from my_table where id = ?";
....
String id ="a123";
getJdbcTemplate().update(DELETE_BY_ID_QUERY, new Object[] { id });
编辑:阅读编辑问题后
您可以使用API
public int update(PreparedStatementCreator psc) throws DataAccessException
然后传入PreparedStatementCreator
的实现,例如(SimplePreparedStatementCreator
)并在创建PreparedStatement时打印sql。我没有试过这个,但我认为你应该能够得到它。