본문 바로가기

전체 글360

스프링 DB 접근 기술 - 스프링 JdbcTemplate 이 글은 김영한 님의 스프링 입문 강의(https://inf.run/hcic)를 수강하며 학습한 내용을 정리한 글입니다. 스프링 JdbcTemplate ˙ 순수 Jdbc와 동일한 환경설정 ˙ 스프링 JdbcTemplate과 MyBatis 같은 라이브러리는 JDBC API에서 본 반복 코드를 대부분 제거해 준다 하지만 SQL은 직접 작성해야 한다 1. JdbcTemplateMemberRepository MemberRepository 구현 private final JdbcTemplate jdbcTemplate; // @Autowired 생성자가 하나라면 생략 가능 public JdbcTemplateMemberRepository(DataSource dataSource) { jdbcTemplate = new J.. 2022. 3. 1.
스프링 DB 접근 기술 - 스프링 통합 테스트 이 글은 김영한 님의 스프링 입문 강의(https://inf.run/hcic)를 수강하며 학습한 내용을 정리한 글입니다. 스프링 컨테이너와 DB까지 연결한 통합 테스트 이전에 했던 테스트들은 순수한 자바 코드를 테스트한 것이다 이번 포스트에서는 DB를 스프링 부트가 관여하고 있으므로 이를 고려한다 1. DB를 연결한 로직을 테스트하기 위한 테스트 파일 생성 MemberServiceTest 파일을 복사 붙여넣기 하여 MemberServiceIntegrationTest 생성 2. 스프링 부트를 통한 테스트 클래스 앞에 어노테이션을 붙여 준다 @SpringBootTest 스프링 컨테이너와 테스트를 함께 실행한다 @Transactional 테스트 케이스에 이 애노테이션이 있으면, 테스트 시작 전에 트랜잭션을 시.. 2022. 3. 1.
스프링 DB 접근 기술 - 순수 JDBC 보호되어 있는 글 입니다. 2022. 2. 27.
스프링 DB 접근 기술 - H2 데이터베이스 설치 이 글은 김영한 님의 스프링 입문 강의(https://inf.run/hcic)를 수강하며 학습한 내용을 정리한 글입니다. 개발이나 테스트 용도로 가볍고 편리한 DB, 웹 화면 제공 1. h2 데이터베이스 1.4.200 버전 설치 2. 데이터베이스 파일 생성 ~/: 홈 디렉토리(사용자 폴더의 UserName 폴더)를 말한다 2-1 이후부터는 jdbc:h2:tcp://localhost/~/test로 접속한다 파일로 접근할 경우 애플리케이션과 앱 콘솔이 충돌에 의해 동시에 접근이 불가할 수 있기 때문이다 여러군데서 접근할 수 있도록 파일에 직접 접근하지 않고 소켓을 통해서 접근하도록 한다 테이블 생성하기 bigint: Java에서 Long타입 generated by default as identity: 값을 .. 2022. 2. 27.
회원 관리 예제 - 웹 MVC 개발 | 회원 웹 기능 - 조회 이 글은 김영한 님의 스프링 입문 강의(https://inf.run/hcic)를 수강하며 학습한 내용을 정리한 글입니다. 회원 웹 기능 - 조회 1. 회원 컨트롤러에서 조회 기능 member의 list를 모두 model에 담아서 화면에 출력한다 2. 회원 리스트 HTML members - memberList.html thymeleaf가 동작한다 th:each(thymeleaf 문법)는 루프를 돌면서 로직을 실행 (Java의 for-each와 유사) 3. 서버 실행 데이터는 메모리에 있기 때문에 서버를 껐다가 켜면 사라진다 → 파일이나 데이터베이스에 저장해서 관리해야 한다 2022. 2. 26.
회원 관리 예제 - 웹 MVC 개발 | 회원 웹 기능 - 등록 이 글은 김영한 님의 스프링 입문 강의(https://inf.run/hcic)를 수강하며 학습한 내용을 정리한 글입니다. 회원 웹 기능 - 등록 1. 회원 등록 폼 개발 Get: 주로 데이터 조회, URL 주소를 통해 이동하면 화면(HTML) 출력 Post: 주로 데이터 등록, 데이터 입력 Form 화면(HTML)을 출력하여 입력받아서 서버에 데이터 전송 ˙ 회원 등록 폼 컨트롤러 MemberController에 @GetMapping을 연결한다 Get방식: URL을 이용해 이동 /members/new에 접속 시 createForm()이 매핑되어 createMemberForm으로 이동한다 ˙ 회원 등록 폼 HTML members 폴더 - createMemberForm.html ① 뷰 리졸버에 의해 crea.. 2022. 2. 26.