분류 전체보기(219)
-
스프링 DB 접근 기술- 스프링 데이터 JPA
스프링 부트와 JPA 기반 위에 스프링 데이터 JPA 프레임 워크 : JPA를 편리하게 사용하도록 도와주는 기술 스프링 부트와 JPA만 사용해도 개발 생산성이 많이 증가되고, 개발해야하는 코드도 확연히 줄어들게 된다. 여기에 스프링 데이터 JPA를 사용하면, 기존의 한계를 넘어서 리포지토리 구현 클래스 없이 인터페이스 안으로 개발을 완료할 수 있게된다. 또한 반복 개발해왔던 CRUD 기능도 스프링 데이터 JPA가 모두 제공한다. * 실무에서 ERD를 사용한다면, 스프링 데이터 JPA는 필수이다. 인터페이스를 통한 기본적인 CRUD 기능 제공 findByName(), findByEmail() 처럼 메서드 이름만으로 조회 기능 제공 페이징 기능 자동 제공 SpringDataJpaMemberRepository..
2022.08.06 -
스프링 DB 접근 기술- JPA
JPA JDBC에서 JDBC Template으로 바뀌면서 개발자가 작성해야하는 반복된 코드는 확 줄었지만 SQL은 직접 모두 작성해야했다. 그런데 JPA는 이런 기본 SQL도 직접 만들어서 실행해준다. 또한 SQL과 데이터 중심의 설계에서 객체 중심의 설계로 패러다임을 전환할 수 있다. 따라서 개발 생산성을 높일 수 있게된다. 마치 객체를 메모리(memoryMemberRepository)에 넣듯이 JPA가 중간에서 DB에 SQL을 날리고, DB에서 데이터를 가져오는 것을 처리한다. JPA 라이브러리 추가 및 설정 Entity 맵핑 JPA는 인터페이스만 제공이 되는 것이다. hybernate, eclipse 등이 구현 기술이 된다. 즉, JPA 인터페이스에 hybernate만 사용한다고 생각해도 무방하다...
2022.08.05 -
스프링 DB 접근 기술 - 스프링 JDBC Template
스프링 JDBC Template : 순수 Jdbc와 동일한 환경설정을 하면 된다 스프링 JDBC Template과 MyBatis 같은 라이브러리는 JDBC API에서 본 반복코드를 대부분 제거해준다. 하지만 SQL은 직접 작성해야한다. package hello.hellospring.repositroy; import hello.hellospring.domain.Member; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.RowMapper; import org.springframework..
2022.08.05 -
스프링 DB 접근 기술 - 스프링 통합 테스트
@SpringBootTest 스프링 컨테이너와 테스트를 함께 실행한다. @Transactional @AfterEach로 데이터를 지우는 역할을 테스트케이스에 이 어노테이션이 붙게 되면 대신한다. 즉, db에 데이터를 insert 한 이후에 commit 하지 않고 rollback 하는 역할을 수행하기 때문에 실제 데이터는 db에 반영되지 않고 같은 데이터로 반복 테스트를 하여도 테스트 에러(예외)가 나지 않는다. 이전에 했던 MemberServiceTest.java를 단위테스트 라고 한다면, 이번 MemberServiceIntegrationTest.java와 같은 테스트를 통합테스트 라고 한다. * 단위테스트를 하는 것이 좋은 테스트일 확률이 높으며, 스프링 컨테이너 없이 테스트하는 훈련을 해야한다.
2022.07.31 -
스프링 DB 접근 기술 - 순수 JDBC
build.gradle 파일에 jdbc, h2 데이터베이스 관련 라이브러리 추가 implementation 'org.springframework.boot:spring-boot-starter-jdbc' - 자바가 DB와 붙기위해서 JDBC 필요 runtimeOnly 'com.h2database:h2' - DB와 붙을 때 DB가 제공하는 클라이언트가 필요 scr>main>resources>application.properties 파일에 DB 접속 정보 추가 spring.datasource.url=jdbc:h2:tcp://localhost/~/test spring.datasource.driver-class-name=org.h2.Driver spring.datasource.username=sa 이렇게 하면 Sp..
2022.07.31 -
스프링 DB 접근 기술 - H2 데이터베이스 설치
H2 DB 설치 Downloads (h2database.com) 로 접속해서 Platform-Independent Zip으로 설치하여 압축을 푼다. h2>bin>h2.bat OR h2w.bat 를 실행시킨다. 아래와 같은 경로로 화면이 띄워진다. 게속 파일로 접근하게 되면 동시에 애플리케이션과 웹 콘솔이랑 같이 접근이 안되고 충돌될 수 있기 때문에 JDBC URL을 jdbc:h2:tcp://localhost/~/test 로 파일이 아닌 소켓을 통해 접근한다. 테이블 생성 insert into member(name) values('spring') 로 spring, spring2인 name 값을 삽입
2022.07.30