数据库
首页 > 数据库> > 在SQL预准备语句,Spring,SimpleJDBCTemplate中使用LIKE子句

在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, new VideoMapper(), "%" + term + "%");

标签:jdbc,prepared-statement,sql-like,spring,sql
来源: https://codeday.me/bug/20191208/2091138.html