RDBMS
: 관계형 정보관리시스템 (고도화된 엑셀) ex. H2, MySQL
ㅡㅡㅡㅡㅡㅡㅡㅡㅡ
SQL 문
bigint = JAVA의 Long
varchar = JAVA의 String
자동 열로 생성 = JAVA의 @Column
NOT NULL : 어느하나도 비면 안된다. (꼭 있어야함) = JAVA의 (nullable = false)
AUTO_INCREMENT : 자동증가 = JAVA의 @GeneratedValue(strategy=GenerationType.AUTO)
PRIMARY KEY(id) : 1,2,3행 선택, 식별자 = JAVA 의 @Id
*일일이 작성해줘야 하는 SQL 을 JPA 가 자동으로 작성해줌
JPA : SQL 을 쓰지않고 데이터를 CRUD 해주는 번역기. Interface를 통해서만 사용.
Interface : 클래스에서 멤버가 빠진, 메소드모음
extends 상속(가져와서 사용)
interface는 기능만 정의하고 jparepository가 구현, sql 문을 다 만들어 준다
public interface CourseRepository extends JpaRepository<Course, Long> {
}
Course라는 클래스를 대상으로 Long 타입의 Jpa를 상속받아올꺼야.
ㅡㅡㅡㅡㅡ
CourseRepository.java 인터페이스
(src>main>java>com.sparta.week02>domain>CourseRepository 에 작성.)
public interface CourseRepository extends JpaRepository<Course, Long> {
}코드를 입력하세요
했기때문에 Week02Application 에서
repository. 에 미리 작성된 jpa코드 (메소드)를 갖다쓸수있다
Course course1 = new Course ("웹개발","남병관"); //클래스만들기
repository.save(course1); //repo 저장
List<course> courseList = repository.findAll(); // list 불러오기
for (int i=0; i<courseList.size(); i++) { // 하나하나 찍어보기
Course c = courseList.get(i);
System.out.println(c.getTitle());
System.out.println(c.getTutor());
}
//데이터 하나조회
Course course = repository.findById(1L).orElseThrow(
() -> new NullPointerException("아이디가 존재하지 않습니다.")
);
1L (1번 Long타입 아이디를 찾는다). 만약없으면-> "아이디존재X" 띄우기
spring.jpa.show-sql=true
스프링이 jpa로 작동할때 sql을 보여줘!
src>main>resources>application.properties 에 붙이기