본문 바로가기

SPRING

[Spring Boot] JPA로 DB데이터 입출력하기

JPA 사용방법 3step

 

1. repository 만들기

 

1-1 자바폴더에다가 테이블명Repository interface 파일 만듬

1-2 extends JpaRepository<Entity명,id컬럼타입>

import org.springframework.data.jpa.repository.JpaRepository;

public interface ItemRepository extends JpaRepository<Item, Integer> {

}

 

 

2.원하는 클래스에 repository 등록

 

2-1. 원하는 클래스가서 클래스명 위에 @RequiredArgsConstructor

2-2  아까만든 인터페이스를 타입으로 변수를 하나 만든다. 

@RequiredArgsConstructor
@Controller
public class ItemController {

   private final ItemRepository itemRepository;

 

3. 아까만든 인터페이스타입의 변수.()를 쓰면 됨

 

findAll(); 테이블 모든 데이터를 List형태로 가져옴 

save(?);  ?부분에 데이터를 넣으면 테이블에 넣어줌

 

 

------------

간단한 List 설명

여러개의 데이터를 한 변수에 넣고싶을때 쓰는 것

 

ArrayList<넣어줄 데이터 타입> 변수명 = new ArrayList<>();

ArrayList<Integer> a =  new ArrayList<>();

 

ArrayList<object>  object는 다양한 타입을 넣을경우 사용   

List<object>  여러 List의 상위버전 (이렇게쓰면 나중에 다른list로 변환 쉬움)

 

.add(); 데이터 추가시 사용

.get(위치0부터 시작) 꺼낼때 사용 

ex ) a.get(0).price

 

@RequiredArgsConstructor
@Controller
public class ItemController {

   private final ItemRepository itemRepository;


    //public  없으면 같은 패키지 안에서만 사용가능
    @GetMapping("/list")
    String list(Model model){
       List<Item> result = itemRepository.findAll();
       //List<출력중인 테이블 클래스 넣어야함 >
        System.out.println(result.get(0).price);

        ArrayList<Integer> a = new ArrayList<>();
        a.add(30);
        a.add(40);
        System.out.println(a.get(0));
        System.out.println(a.get(1));