본문 바로가기

Back-End/Spring129

[Spring] 스프링 DB 접근 기술 - JPA 이 글은 김영한 님의 스프링 입문 강의(https://inf.run/hcic)를 수강하며 학습한 내용을 정리한 글입니다. JPA기본적인 SQL을 JPA가 직접 만들어서 실행해 준다.JdbcTemplate은 순수 Jdbc 소스 코드보다 단순하지만 SQL은 직접 작성해야 한다는 불편함이 있다.SQL과 데이터 중심의 설계에서 객체 중심의 설계로 패러다임을 전환을 할 수 있다개발 생산성을 크게 높일 수 있다 1. build.gradlespring-boot-starter-data-jpa는 내부에 jdbc 관련 라이브러리를 포함한다.// implementation 'org.springframework.boot:spring-boot-starter-jdbc' implementation 'org.springfram.. 2022. 3. 1.
[Spring] 스프링 DB 접근 기술 - 스프링 JdbcTemplate 이 글은 김영한 님의 스프링 입문 강의(https://inf.run/hcic)를 수강하며 학습한 내용을 정리한 글입니다. 스프링 JdbcTemplate˙ 순수 Jdbc와 동일한 환경설정˙ 스프링 JdbcTemplate과 MyBatis 같은 라이브러리는 JDBC API에서 본 반복 코드를 대부분 제거해 준다    하지만 SQL은 직접 작성해야 한다 1. JdbcTemplateMemberRepositoryMemberRepository 구현 private final JdbcTemplate jdbcTemplate;// @Autowired 생성자가 하나라면 생략 가능 public JdbcTemplateMemberRepository(DataSource dataSource) { jdbcT.. 2022. 3. 1.
[Spring] 스프링 DB 접근 기술 - 스프링 통합 테스트 이 글은 김영한 님의 스프링 입문 강의(https://inf.run/hcic)를 수강하며 학습한 내용을 정리한 글입니다. 스프링 컨테이너와 DB까지 연결한 통합 테스트이전에 했던 테스트들은 순수한 자바 코드를 테스트한 것이다이번 포스트에서는 DB를 스프링 부트가 관여하고 있으므로 이를 고려한다 1. DB를 연결한 로직을 테스트하기 위한 테스트 파일 생성MemberServiceTest 파일을 복사 붙여넣기 하여 MemberServiceIntegrationTest 생성 2. 스프링 부트를 통한 테스트클래스 앞에 어노테이션을 붙여 준다@SpringBootTest스프링 컨테이너와 테스트를 함께 실행한다@Transactional테스트 케이스에 이 애노테이션이 있으면, 테스트 시작 전에 트랜잭션을 시작하고, 테스트.. 2022. 3. 1.
[Spring] 스프링 DB 접근 기술 - 순수 JDBC 보호되어 있는 글 입니다. 2022. 2. 27.
[Spring] 스프링 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 ident.. 2022. 2. 27.
[Spring] 회원 관리 예제 - 웹 MVC 개발 | 회원 웹 기능 - 조회 이 글은 김영한 님의 스프링 입문 강의(https://inf.run/hcic)를 수강하며 학습한 내용을 정리한 글입니다. 회원 웹 기능 - 조회 1. 회원 컨트롤러에서 조회 기능member의 list를 모두 model에 담아서 화면에 출력한다 2. 회원 리스트 HTMLmembers - memberList.htmlthymeleaf가 동작한다th:each(thymeleaf 문법)는 루프를 돌면서 로직을 실행 (Java의 for-each와 유사) 3. 서버 실행    데이터는 메모리에 있기 때문에 서버를 껐다가 켜면 사라진다→ 파일이나 데이터베이스에 저장해서 관리해야 한다 2022. 2. 26.