我在下面的查询中没有得到如何使用%?%。这给了我错误:
PreparedStatementCallback;未分类的SQL的SQLException [select * from name其中name为'%?%']
问题:
String sql = "select * from names where name like ?";
List<NamesModel> names = jdbcTemplate.query(sql, new Object[]{searchName}, new NamesRowMapper());
您的异常告诉您无法绑定到引用值。以下不起作用:
String sql = "select * from names where name like '%?%'";
List<NamesModel> names = jdbcTemplate.query(sql,
new Object[]{ searchName }, new NamesRowMapper());
正确的方法是在%
参数值周围添加searchName
:
String sql = "select * from names where name like ?";
List<NamesModel> names = jdbcTemplate.query(sql,
new Object[]{ "%" + searchName + "%"}, new NamesRowMapper());