gpt4 book ai didi

java - @Query 不接受 LIKE 来执行细粒度搜索

转载 作者:行者123 更新时间:2023-12-01 19:40:07 25 4
gpt4 key购买 nike

  1. 当我运行这个程序时,我能够得到结果,但只有当我输入全名时..

  2. @Query(value = "SELECT * FROM Student WHERE first_name=?1", nativeQuery = true)
    public List<Student> findByFirstNameLike(String searchName);

  3. 现在我尝试添加 like 运算符

  4. @Query(value = "SELECT * FROM Student WHERE first_name like=?1", nativeQuery = true)
    public List<Student> findByFirstNameLike(String searchName);
    }

  5. 我通过输入 Dan 并点击搜索来查找学生 Daniel,这是异常(exception)

  6. java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '='Dan'' at line 1

  7. 我什至尝试将 = 更改为这样的 %..

  8. WHERE first_name like%?1

  9. 第 2 点有效,但第 4 点和第 6 点给出了 SQLSyntaxErrorException,我该如何解决这个问题?谢谢

  10. 我也尝试过使用此链接中提到的 @Param 注释,但仍然出现语法异常 https://stackoverflow.com/a/38115592/4325878

最佳答案

此查询错误:

"SELECT * FROM Student WHERE first_name like=?1"

不能在 like 关键字后放置等号。应该是这样的:

"SELECT * FROM Student WHERE first_name like ?1"

如果您放置“%”,那么它应该是参数的一部分。

另外看看这个:

public List<Student> findByFirstNameLike(String searchName);

括号不平衡。为了将来,请提供合规的代码片段...

关于java - @Query 不接受 LIKE 来执行细粒度搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55645230/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com