Create / Update
- Repository 단계에서 정의
메인함수 코드
package com.sparta.week02;
import com.sparta.week02.domain.Course;
import com.sparta.week02.domain.CourseRepository;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
import java.util.List;
@EnableJpaAuditing
@SpringBootApplication
public class Week02Application {
public static void main(String[] args) {
SpringApplication.run(Week02Application.class, args);
}
// Week02Application.java 의 main 함수 아래에 붙여주세요.
@Bean
public CommandLineRunner demo(CourseRepository repository) {
return (args) -> {// 데이터 저장하기
repository.save(new Course("웹개발의 봄, Spring", "남병관"));
// 데이터 전부 조회하기
List<Course> courseList = repository.findAll();
for (int i = 0; i < courseList.size(); i++) {
Course course = courseList.get(i);
System.out.println(course.getId());
System.out.println(course.getTitle());
System.out.println(course.getTutor());
}
// 데이터 하나 조회하기
Course course = repository.findById(1L).orElseThrow(
() -> new IllegalArgumentException("해당 아이디가 존재하지 않습니다.")
);
System.out.println(course.getTitle());
System.out.println(course.getTutor());
};
}
}
update
- service단계에서 정의
CourseService.java
@Service // 스프링에게 이 클래스는 서비스임을 명시
public class CourseService {
// final: 서비스에게 꼭 필요한 녀석임을 명시
private final CourseRepository courseRepository;
// 생성자를 통해, Service 클래스를 만들 때 꼭 Repository를 넣어주도록
// 스프링에게 알려줌
public CourseService(CourseRepository courseRepository) {
this.courseRepository = courseRepository;
}
@Transactional // SQL 쿼리가 일어나야 함을 스프링에게 알려줌
public Long update(Long id, Course course) {
Course course1 = courseRepository.findById(id).orElseThrow(
() -> new IllegalArgumentException("해당 아이디가 존재하지 않습니다.")
);
course1.update(course);
return course1.getId();
}
}
main 함수 코드
Course new_course = new Course("웹개발의 봄, Spring", "임민영");
courseService.update(1L, new_course);
Delete
- Repository 단계에서 정의
main 함수 코드
courseRepository.deleteById(1L);
courseRepository.deleteAll();
'Spring > 개념지식 및 에러사항' 카테고리의 다른 글
Servlet vs Spring MVC (0) | 2021.12.27 |
---|---|
[MyBatis] 동적 SQL (0) | 2021.08.08 |
[Spring] JPA 기초 (0) | 2021.07.12 |
RestController 생성하기 (0) | 2021.07.05 |
Log4j import에러 (0) | 2021.07.02 |
댓글