首页 > 解决方案 > 如何在 Spring Boot 的 MySql 查询中使用“LIKE field var%”中的变量?

问题描述

我在spring boot存储库中编写了这段代码,以根据用户提供的状态并从用户在前端搜索面板中输入的某个值开始获取clientInfo。但是查询中的 LIKE ':nameFilter%' 部分没有正确执行,并且查询返回 null。我怎样才能让它工作?

@SqlQuery("SELECT * FROM ClientInfo WHERE status = :status AND name LIKE ':nameFilter%' ORDER BY createdAt DESC LIMIT 10 OFFSET :page")
    @RegisterBeanMapper(ClientInfo.class)
    public List<ClientInfo> getClientInfoByStatusDESC(@Bind int page,String status,String orderBy,String nameFilter);

标签: javamysqlspring-boot

解决方案


您可以尝试CONCAT使用 MySQL 的功能来将查询参数与其他参数结合起来。

LIKE CONCAT(:name, '%')


推荐阅读