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

我有以下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.

最佳答案
您需要将%放在值本身周围,而不是在占位符(问号)周围.

所以:

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

相关文章

这篇文章主要介绍了spring的事务传播属性REQUIRED_NESTED的原...
今天小编给大家分享的是一文解析spring中事务的传播机制,相...
这篇文章主要介绍了SpringCloudAlibaba和SpringCloud有什么区...
本篇文章和大家了解一下SpringCloud整合XXL-Job的几个步骤。...
本篇文章和大家了解一下Spring延迟初始化会遇到什么问题。有...
这篇文章主要介绍了怎么使用Spring提供的不同缓存注解实现缓...