BoardRepositoryQueryTests
페이지 정보
본문
package web.repository;
import java.util.List;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.test.annotation.Commit;
import jakarta.transaction.Transactional;
import web.domain.Board;
@SpringBootTest
public class BoardRepositoryQueryTests {
@Autowired
private BoardRepository boardRepository;
//@Test
public void testQuery() {
List<Board> list = boardRepository.findByBnoBetweenOrderByBnoDesc(70, 80);
//bno 값이 70 ~80 출력 : 내림차순
for(Board board : list) {
System.out.println(board);
}
}
//@Test
public void testQuery2() {
Pageable pageable = PageRequest.of(0, 10, Sort.by("bno").descending());
Page<Board> list = boardRepository.findByBnoBetween(10, 50, pageable);
//bno 값이 10 ~ 50 사이, 1페이지 10개 출력, 내림차순
for(Board board : list) {
System.out.println(board);
}
}
@Transactional
@Commit
//@Test
public void testDeleteQuery() {
boardRepository.deleteBoardByBnoLessThan(10); //bno 값이 10보다 작은 데이터를 삭제
//@Transactional : select 구문으로 해당 엔티티 객체들을 가져오는 작업과 각 엔티티를 삭제하는 작업이 같이 이루어지기 때문
//테스트 코드에서 deleteBy...인 경우 @Transactional , @Commit 필요
//@Commit은 최종 결과를 커밋하기 위해서 사용, 미적용시 롤백(Rollback) 처리됨
//deleteBy...는 실제 개발에서 많이 사용되지 않는다.
//콘솔창에서 확인하면 각각 10번의 삭제구문이 실행되기 때문
}
}
- 이전글BoardRepository 24.06.16
- 다음글② @Query 24.06.15
댓글목록
등록된 댓글이 없습니다.