퍼 지 조회: Spring Data JPA 는 어떻게 퍼 지 조회 (LIKE) 를 합 니까?

2015 단어 SpringDataJPA주해
Spring MVC + Spring Data JPA + 퍼 지 조회
편리 함 을 위해 서 서 비 스 는 직접 무시 하고 이해 하기 편리 합 니 다.
방법
1.  컨트롤 러 층:
  방법 매개 변 수 는 다음 과 같 습 니 다. "%" + name + "%" 를 추가 해 야 합 니 다.
/**
 * @description:
 * @author: czx<[email protected]>
 * @date: 2018/1/22   5:15
 * @version: V1.0
 */
@RestController
public class UserController {

    @Autowired
    private TeamRepository teamRepository;

    @GetMapping("/findByNameLike")
    public List findByNameLike(String name) {
        //      "%"+   +"%"
        return teamRepository.findByNameLike("%"+name+"%");
    }

}

 
2. Dao 층:
 JPA 에 규정된 형식 findBy + 매개 변수 이름 + Like (매개 변수) 를 사용 해 야 합 니 다.
/**
 * @description:    
 * @author: czx<[email protected]>
 * @date: 2018/1/18   10:52
 * @version: V1.0
 */

public interface TeamRepository extends JpaRepository {

    
    List findByNameLike(String name);

 
 
방법 2
 1. Controller:
 
 매개 변수 단순화
 
/**
 * @description:
 * @author: czx<[email protected]>
 * @date: 2018/1/22   5:15
 * @version: V1.0
 */
@RestController
public class UserController {

    @Autowired
    private TeamRepository teamRepository;

    @GetMapping("/findByNameLike")
    public List findByNameLike(String name) {
        return teamRepository.findByNameLike(name);
    }

}
2.Dao :

SQL 문 구 를 스스로 정의 해 야 합 니 다.
 
/**
 * @description: 
 * @author: czx<[email protected]>
 * @date: 2018/1/18   10:52
 * @version: V1.0
 */

public interface TeamRepository extends JpaRepository {

    @Query(value = "select t from Team t where t.name like %?1%")
    List findByNameLike(String name);

 
      문제 가 있 으 면 메 일 로 방문 하 시 는 것 을 환영 합 니 다[email protected]감사합니다.

좋은 웹페이지 즐겨찾기