라이브러리를 먼저 하나 설치하자
Lombok인데 필요한 코드를 자동으로 생성해줘서 자바 코드 양을 매우 줄여주는 간단한 라이브러리다.
dependencies {
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
}
Lombok(코드 자동생성 라이브러리)

하단에 이렇게 나오면 'Configure plugins'를 클릭하여 Lombok을 Install 해주자

JPA로 데이터 입출력하려면 3가지 단계가 있다
1. repository만들기
2. 원하는 클래스에 repository 등록
3. repository.입출력문법()쓰기

ItemRepository.java
package com.apple.shop;
import org.springframework.data.jpa.repository.JpaRepository;
public interface ItemRepository extends JpaRepository<Item, Long> {
}
ItemController.java
package com.apple.shop;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
@RequiredArgsConstructor
public class ItemController {
private final ItemRepository itemRepository;
@GetMapping("/list")
String list(Model model){
model.addAttribute("name","홍길동");
return "list.html";
}
}
ItemController.java
package com.apple.shop;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import java.util.ArrayList;
@Controller
@RequiredArgsConstructor
public class ItemController {
private final ItemRepository itemRepository;
@GetMapping("/list")
String list(Model model){
var result = itemRepository.findAll();
System.out.println(result);
var a = new ArrayList<>();
a.add(30);
a.add(40);
System.out.println(a);
model.addAttribute("name","홍길동");
return "list.html";
}
}
(.findAll은 테이블의 모든 데이터를 가져온다)
출력을 해보면

이렇게 나온다 (이게 ArrayList의 생김새다)
var a = new ArrayList<>();
a.add(30);
a.add(40);
System.out.println(a);
에서
System.out.println(a);
이 부분을
System.out.println(a.get(몇번째 자료를 출력할것인지 입력));
이렇게 변경해준다

-> 위의 코드를
ArrayList<ArrayList에 보관할 자료 타입> a = new ArrayList<>();
이렇게도 변경 가능하다
package com.apple.shop;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class ItemController {
private final ItemRepository itemRepository;
@Autowired
public ItemController(ItemRepository itemRepository) {
this.itemRepository = itemRepository;
}
@GetMapping("/list")
String list(Model model){
model.addAttribute("name","홍길동");
return "list.html";
}
}