使用带有 LIKE 的 mysql 本机查询的 spring boot 搜索返回空
Posted
技术标签:
【中文标题】使用带有 LIKE 的 mysql 本机查询的 spring boot 搜索返回空【英文标题】:spring boot search with mysql native query with LIKE return empty 【发布时间】:2020-12-24 16:21:12 【问题描述】:我有一个城市和国家的桌子。我尝试用 LIKE 的一些首字母选择城市和国家名称,但每次它返回空列表。在 mysql Workbench 中,此查询返回结果。我尝试了很多版本,但没有任何效果。
@Query(value = "SELECT city, country FROM test8.cities WHERE city LIKE ?'%'", nativeQuery = true)
List<City> findCity(String str);
我尝试了,这个方法也返回空列表。
List<City> findByCityStartsWith(String str);
List<City> findTop20DistinctByCityIsStartingWith(String str);
@Query(value = "SELECT city, country FROM test8.cities WHERE city LIKE ?1", nativeQuery = true) 列出 findByCityIsStartingWith(String str);
@Query(value = "select city, country FROM test8.cities WHERE city = :str", nativeQuery = true) 列出 findByCity2(@Param("str")String str);
【问题讨论】:
你的参数 str 应该是 %someCity% 你能分享字符串参数 @Param("str")String str 的值吗?此外,您可以使用 Containing、Contains、IsContaining @GetMapping("/cities") public @ResponseBody List问题出在已更改的实体中。
【讨论】:
以上是关于使用带有 LIKE 的 mysql 本机查询的 spring boot 搜索返回空的主要内容,如果未能解决你的问题,请参考以下文章
在 python (django) 中使用带有参数的游标/查询中的“like”