小编典典

在SQL预准备语句,Spring,SimpleJDBCTemplate中使用LIKE子句

sql

我有以下sql预准备语句:

SELECT * FROM video WHERE video_name LIKE ?

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

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

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

我尝试在问号附近使用%,但是它只给出了badGrammarExceptions。


阅读 222

收藏
2021-04-14

共1个答案

小编典典

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

所以:

return sjt.query(searchForTermQuery, new VideoMapper(), "%" + term + "%");
2021-04-14