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("%测试%")