我制作了一个简单的姓名数据库。有几个名字:(例如)Alexander、Anthony、Amelia、Asher 和 Matin。我想获取包含字母“a”的所有名称,但仅获取第一个字母“a”而不是 Matin 的名称,因为 a 是单词中的第二个字母。我的存储库中有此方法:
@Query(value = "select ID, F_NAME, L_NAME FROM TEACHERS WHERE F_NAME LIKE %:firstName% ",nativeQuery = true )
List<Teacher>findByFirstname( @Param("firstName") String firstName);
我用 spring 创建了一个包含教授列表的应用程序,当我单击姓名的第一个字母时,列表显示包含该字母的所有姓名,
我想要的是当我按下每个名字的首字母时,就会显示出名字及其首字母
我认为在你的情况下你应该删除第一个%并使你的代码像这样:
@Query(value = "SELECT ID, F_NAME, L_NAME FROM TEACHERS WHERE F_NAME LIKE :firstName%", nativeQuery = true)
List<Teacher> findByFirstname(@Param("firstName") String firstName);
然后,您可以调用该方法并将要搜索的字母作为参数传入,如下所示:
List<Teacher> teachers = findByFirstname("a");
这将返回名字以字母“a”开头的所有教师的列表。