@Select("Select * FROM note where title like '%#{keyword}%'")这个使用keyword来模糊查询有什么错,请改正
时间: 2024-04-15 14:28:57 浏览: 135
select form where 语句
你的查询语句中的问题是,你使用了`'%#{keyword}%'`来进行模糊查询,这会导致`#{keyword}`不会被正确解析为参数的值。
要修正这个问题,你可以尝试以下方法:
1. 使用`${}`表达式而不是`#{}`占位符来替代参数值,并且不要在占位符周围添加引号:
```java
@Select("SELECT * FROM note WHERE title LIKE CONCAT('%', ${keyword}, '%')")
public List<Note> selectByKeyword(@Param("keyword") String keyword);
```
这里使用了`CONCAT()`函数来拼接通配符和关键字。`${}`表达式将会被正确解析为参数值。
请注意,使用`${}`表达式时,要确保关键字的值是经过适当处理的,以防止SQL注入攻击。
希望这能解决你的问题!如果你还有其他问题,请随时提问。
阅读全文