SpringData 의 Specification 을 사용 하여 조회 합 니 다.
2837 단어 springdata
그리고 저희 가 바로 테스트 클래스 를 추가 하 겠 습 니 다.
package com.w;
import com.w.dao.CustomDao;
import com.w.domain.Customer;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Sort;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import javax.persistence.criteria.*;
import java.util.List;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:applicationContext.xml")
public class TestSpecification {
@Autowired
private CustomDao customDao;
@Test
public void testFindOne() {
Specification specification = new Specification() {
public Predicate toPredicate(Root root, CriteriaQuery criteriaQuery, CriteriaBuilder criteriaBuilder) {
//
Path cName = root.get("cName");
//
Predicate predicate = criteriaBuilder.equal(cName, " ");
return predicate;
}
};
Customer customer = customDao.findOne(specification);
System.out.println(customer);
}
@Test
public void testFindAll() {
Specification specification = new Specification() {
public Predicate toPredicate(Root root, CriteriaQuery criteriaQuery, CriteriaBuilder criteriaBuilder) {
//
Path cName = root.get("cName");
//
Predicate predicateName = criteriaBuilder.like(cName, " %");
Path cAddr = root.get("cAddr");
Predicate predicateAddr = criteriaBuilder.equal(cAddr, " ");
Predicate predicate = criteriaBuilder.and(predicateName, predicateAddr);
return predicate;
}
};
// Id
List customers = customDao.findAll(specification, new Sort(Sort.Direction.DESC, "cId"));
for (Customer customer : customers) {
System.out.println(customer);
}
}
@Test
public void testPageable() {
Page page = customDao.findAll(null,new PageRequest(0,2));
System.out.println(page.getTotalElements());
System.out.println(page.getTotalPages());
System.out.println(page.getContent());
}
}
위의 세 가지 방법 은 조건 조회,정렬 조회,페이지 조회 등 을 각각 테스트 했 습 니 다.어린이 신발 들 은 자신의 수요 에 따라 해당 하 는 코드 를 작성 할 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
바이너리 파일(이미지, 텍스트 파일)을 저장, 검색, 삭제하는 SpringData MongoDB GridFsTemplate바이너리 파일(이미지, 텍스트 파일)을 저장, 검색, 삭제하는 SpringData MongoDB GridFsTemplate MongoDB는 크기 제한이 16MB인 대용량 파일을 저장하고 검색하기 위한 GridFS를 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.