위챗 주문 프로젝트 기록 - 바이어단 상품 유형 DAO층의 디자인과 테스트
10010 단어 JAVA 학습 노트
1. 본 편은 주로 DAO층의 디자인과 개발을 대상으로 데이터베이스에 있는 제품을category 테이블은 DAO 레이어의 솔리드 클래스 ProductCategory 클래스에 매핑됩니다.구체적인 주해의 의미를 나는 코드에 주석을 썼다.
@Entity//jpa , (ProductCategory) , product_category。
@DynamicUpdate// , 。 , ,
@Data// get set toString , , jar , 。
public class ProductCategory {
// id
@Id// ,
@GeneratedValue//
private Integer categoryId;
/** . */
private String categoryName;
public ProductCategory() {
}
/** . */
private Integer categoryType;
public ProductCategory(String categoryName, Integer categoryType) {
this.categoryName = categoryName;
this.categoryType = categoryType;
}
2. DAO층의 클래스를 작성한 후 다음에는 JPA를 계승하는 인터페이스, Product Category Repository 인터페이스를 써야 한다.이 인터페이스를 쓰는 역할은 JPA가 우리가 쓴 실체류에 따라 자동으로 이 표를 만들 수 있고 Jpa Repository에서 기초적인 삭제 수정 방법을 정의하여 직접 사용할 수 있도록 하는 것이다.
// An highlighted block
public interface ProductCategoryRepository extends JpaRepository<ProductCategory,Integer> {
List<ProductCategory> findByCategoryTypeIn(List<Integer> categoryTypeList);// , ,
}
3. 작성된 JPA 인터페이스에 따라 테스트 유형을 작성하고 JPA가 제공하는 기능과 자신이 쓰는 방법이 실현될 수 있는지 주로 검사한다.
@RunWith(SpringRunner.class)@SpringBootTest 일반적인 경우 @SpringBootTest와 @RunWith(SpringRunner.class) 주석을 사용하여 SpringBoot 테스트 프로젝트를 시작합니다.
@Autowired는 수식된 클래스에 주입 대상이 필요하다는 것을 표시합니다.spring은 @Autowired에 표시된 모든 클래스를 스캔한 다음 유형에 따라 ioc 용기에서 일치하는 클래스 주입을 찾습니다.
findById를 통해 이 테이블의 한 줄의 정보를 조회하고 set 방법을 통해 한 줄의 한 속성의 정보를 수정할 수 있습니다.수정이 끝난 후에 반드시 저장하고save 방법을 사용하세요.
Assert.assertNotEquals(null, result);이 방법은result가 비어 있는지 확인하는 것입니다. 비어 있으면 null로 되돌아갑니다.
@RunWith(SpringRunner.class)
@SpringBootTest
public class ProductCategoryRepositoryTest {
@Autowired
private ProductCategoryRepository repository;
DataSource dataSource;
@Test
public void findOneTest(){
ProductCategory productCategory=repository.findById(2).get();// 2.0 , 。
System.out.println(productCategory.toString());
}
@Test
@Transactional// ,
public void saveTest() {
// ProductCategory productCategory=repository.findById(2).get();// , 、
// productCategory.setCategoryType(4);
ProductCategory productCategory = new ProductCategory(" ", 3);// , 。
productCategory.setCategoryId(3);
// productCategory.setCategoryName(" ");// ,
ProductCategory result= repository.save(productCategory);
// Assert.assertNotNull(result);
Assert.assertNotEquals(null, result);// , result, , , null
}
@Test
public void findByCategoryTest(){
List<Integer> list= Arrays.asList(2,3,4);// list
List<ProductCategory> result= repository.findByCategoryTypeIn(list);
Assert.assertNotEquals(0,result.size());
}
}
이로써 바이어측 상품류 항목 DAO 층이 완성되고 테스트가 완료되었다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Welcome to JAVA!(제4 장 방과 후 연습 문제)4.1* Write a program that reads an unspecified number of integers,determines how many postive and negative values have b...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.