BoardRepositoryQueryTests > SPRING_DATA_JPA

본문 바로가기
사이트 내 전체검색

SPRING_DATA_JPA

BoardRepositoryQueryTests

페이지 정보

profile_image
작성자 관리자
댓글 0건 조회 12회 작성일 24-06-16 10:36

본문

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번의 삭제구문이 실행되기 때문

}

}


댓글목록

등록된 댓글이 없습니다.

회원로그인

회원가입

사이트 정보

공지사항
자유게시판
질문답변
1:1문의

 

별명 : 터푸가위
주소 : 부산시 동래구 명장로20번길 90
대표 : 박규태
메일 : dancepkt@******.com

접속자집계

오늘
153
어제
174
최대
10,760
전체
265,053
Copyright © dancePKT . All rights reserved.