在sql准备语句中使用LIKE子句,spring,SimpleJDBCTemplate

时间:2011-05-18 18:20:34

标签: sql spring jdbc prepared-statement sql-like

我有以下sql准备语句:

SELECT * FROM video WHERE video_name LIKE ?

我使用spring和jdbc。 我有一个方法,其中term是searchterm,sjt是SimpleJdbcTemplate,VideoMapper是RowMapper,searchForTermQuery是上面的字符串

...
return sjt.query(searchForTermQuery, new VideoMapper(), term);

我的桌子上有两个与该字词匹配的视频。 但是,当我运行查询时,找不到任何内容。我得到一个空列表。

我尝试在问号周围使用%,但它只给了badGrammarExceptions。

1 个答案:

答案 0 :(得分:3)

您需要将%放在值本身周围,而不是在占位符(问号)周围。

所以:

return sjt.query(searchForTermQuery, new VideoMapper(), "%" + term + "%");