2011-05-18 40 views
3

我有以下SQL语句准备:使用Spring和JDBC使用SQL预处理语句,类似弹簧的条款,SimpleJdbcTemplate进行

SELECT * FROM video WHERE video_name LIKE ? 

林。 我有一个方法,其中术语是搜索关键词,SJT是SimpleJdbcTemplate类,VideoMapper是一个的RowMapper和searchForTermQuery是从上方

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

我的表具有匹配的术语,2个视频的字符串。 但是,当我运行查询没有找到。我得到一个空的列表。

我试着在问号周围玩弄%,但它只给badGrammarExceptions。

+1

尝试追加%到搜索字符串的每一端...'项= '%' +长期+ '%';' – Chad 2011-05-18 18:23:15

回答

3

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

所以:

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

感谢你们俩! – hooch 2011-05-18 18:31:52

+0

不客气。 – BalusC 2011-05-18 18:41:34