SpringBoot中的本机查询类似于格式问题

时间:2018-04-19 05:31:03

标签: spring-boot spring-data-jpa nativequery

我正在尝试在本机查询中使用like运算符,如下所示:

O(log n)

country作为方法的输入参数。

得到以下错误:

  

java.lang.IllegalArgumentException:未知参数名称:country

任何人都可以帮助我。

1 个答案:

答案 0 :(得分:0)

在您的存储库界面中使用JPA查询,如下所示:

@Query(nativeQuery = true, value = "SELECT max(r_id) FROM registrations WHERE r_name LIKE ?1")
int getCount (String name);

当你调用这个函数时,用你的字符串添加模数(%),如下所示:

@Autowired
private RegistrationRepository registrationRepository;        

    @GetMapping(value = "/reg-like")
    @ResponseBody
    public void regLike() {
        int max = registrationRepository.getCount("s%");
        System.out.println("" + max);
    }

或者您可以尝试这样的事情:

@Query(nativeQuery = true, value = "SELECT max(r_id) FROM registrations WHERE r_name LIKE %?1")
int getCount (String name);

然后你可以在调用函数时省略模数(%)。

请参阅官方文档here