mysql下可以使用 CONCAT函数

@Query("SELECT u.username FROM User u WHERE u.username LIKE CONCAT('%',:username,'%')")
List<String> findUsersWithPartOfName(@Param("username") String username);

  

SQLSERVER 2008r2不支持 CONCAT函数,查了很多方式最后找到了折中的办法,就是把%和内容作为参数传入

public interface WpxxRepository extends JpaRepository<Wpxx, Long> {

    @Query(value = " from  Wpxx where wpmc like :mc ")
    List<Wpxx> findAllByName(@Param("mc") String mc);
}

  

WpxxDaoImpl调用的时候
 @Override
    public List<Wpxx> findAllByName(String mc) {
        return wpxxRepository.findAllByName("%"+mc+"%");
    }

  如果想查询 like '%测试%' ,调用WpxxDaoImpl 方法 findAllByName(“测试”) ,传入到 WpxxRepository中的时候就是 findAllByName("%测试%")

posted on 2019-05-29 11:47  MakkaPakka007  阅读(631)  评论(0编辑  收藏  举报