본문 바로가기

전체 글474

스프링 통합 테스트 JDBC를 이용하여 스프링과 DB를 연결한 후 테스트를 진행하는 코드를 작성한다. @Transactional: DB에서는 기본적으로 커밋을 해야 데이터가 최종적으로 저장되는데, 해당 어노테이션을 선언하면 자동적으로 롤백을 해주어서 테스트 데이터가 최종적으로 저장되지 않도록 해준다. 따라서, 반복적으로 같은 데이터로 테스트를 진행할 수 있다. @SpringBootTest: 스프링 컨테이너와 테스트를 함께 실행한다.-> 스프링이 실제로 구동된다. package hello.hellospring.service; import hello.hellospring.domain.Member; import hello.hellospring.repository.MemberRepository; import hello.hellos.. 2022. 8. 18.
순수 JDBC jdbc: 자바에서 DB를 연결할때 반드시 있어야 하는 것 build.gradle 파일에 아래 디펜던시를 추가 -> 빌드를 한번 진행해 주어야 한다. implementation 'org.springframework.boot:spring-boot-starter-jdbc' runtimeOnly 'com.h2database:h2' 해당 프로젝트에는 h2 DB를 연결한다. 스프링에서 DB접속 정보를 넣어준다. spring.datasource.url=jdbc:h2:tcp://localhost/~/test spring.datasource.driver-class-name=org.h2.Driver spring.datasource.username=sa 이전에는 메모리를 이용하여 사용하였는데 이번에는 JDBC를 이용한 리.. 2022. 8. 17.
H2 데이터베이스 설치 H2 데이터베이스는 교육용으로 적합하다 아래 링크에서 설치 Archive Downloads (h2database.com) Archive Downloads www.h2database.com 강의에서는 아래 밑줄친 압축파일을 받아서 사용하였다. 압축 해제 후 -> \h2\bin 경로로 들어와서 h2.bat 파일을 실행시켜준다. 그러면 잠시후 화면이 뜨는데 앞에 주소를 localhost로 변경해준다. 그리고 JDBC URL 부분을 jdbc:h2:~/test 으로 수정해준다. 이후 재접속 할 경우에는 JDBC URL 부분을 jdbc:h2:tcp://localhost/~/test 으로 수정해서 연결한다. 위처럼 변경하면 파일에 직접 접근하지 않고 톰캣을 통해서 접근을 하게 된다. 이렇게 해야 여러군데에서 동시 접.. 2022. 8. 16.
회원 웹 기능 - 조회 조회기능을 담당하는 controller 코드 추가 // 조회 화면 @GetMapping("/members") public String List(Model model) { List members = memberService.findMembers(); // 화면으로 전달될 데이터 key, value model.addAttribute("members", members); return "members/memberList"; } Model 객체는 html로 데이터를 전달할 때 필요한 객체이다. 인텔리제이 단축키 : ctrl + alt + v -> 자동으로 반환객체 생성 memberList.html 작성 # 이름 model로 넘어온 데이터를 타임리프를 이용하여 각 데이터를 가져와서 사용 each 문법으로 contr.. 2022. 8. 15.
회원 웹 기능 - 등록 기존 MemberController 코드 추가 // 입력 화면 호출 @GetMapping("/members/new") public String createForm() { return "members/createMemberForm"; } // 입력 화면 데이터 전달 받은 후 처음 화면 호줄 @PostMapping("/members/new") public String create(MemberForm form) { Member member = new Member(); member.setName(form.getName()); memberService.join(member); return "redirect:/"; } MemberForm 클래스 생성 -> Html에서 Form 데이터를 전달 받는 역할 package.. 2022. 8. 14.
회원 웹 기능 - 홈 화면 추가 HomeController 생성 package hello.hellospring.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @Controller public class HomeController { @GetMapping("/") public String home() { return "home"; } } home.html 작성 Hello Spring 회원 기능 회원 가입 회원 목록 스프링을 실행 시킬때 우선적으로 컨트롤러에 해당 경로로 설정된 것이 있는지 확인하기 때문에 index.html 파일이 아닌 home.html 파일이 동작할 것.. 2022. 8. 13.