2011-05-18 20 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