반응형

jdbc 5

데이터 접근 기술 - 활용 방안

스프링 데이터 JPA 예제와 트레이드 오프스프링 데이터 JPA 예제를 다시 한번 돌아보자.- 중간에서 JpaItemRepositoryV2가 어댑터 역할을 해준 덕분에 ItemService가 사용하는 ItemRepository 인터페이스를 그대로 유지할 수 있고, 클라이언트인 ItemService의 코드를 변경하지 않아도 되는 장점이 있다. 고민- 구조를 맞추기 위해서, 중간에 어댑터가 들어가면서 전체 구조가 너무 복잡해지고 사용하는 클래스도 많아지는 단점이 생겼다.- 실제 이 코드를 구현해야 하는 개발자 입장에서 보면 중간에 어댑터도 만들고, 실제 코드까지 만들어야 하는 불편함이 생긴다.- 유지보수 관점에서 ItemService를 변경하지 않고, ItemRepository의 구현체를 변경할 수 있는 장점..

공부/Spring 2025.06.10

데이터 접근 기술

데이터 접근 기술 진행 방식 소개앞으로 실무에서 주로 사용하는 다음과 같은 다양한 데이터 접근 기술들을 학습한다. 적용 데이터 접근 기술- JdbcTemplate- MyBatis- JPA, Hibernate- 스프링 데이터 JPA- Querydsl 여기에는 크게 2가지 분류가 있다. SQLMapper- JdbcTemplate- MyBatis ORM 관련 기술- JPA, Hibernate- 스프링 데이터 JPA- Querydsl SQL Mapper 주요 기능- 개발자는 SQL만 작성하면 해당 SQL의 결과를 객체로 편리하게 매핑해준다.- JDBC를 직접 사용할 때 발생하는 여러가지 중복을 제거해주고, 기타 개발자에게 여러가지 편리한 기능을 제공한다. ORM 주요 기능- JdbcTemplate이나 MyBa..

공부/Spring 2025.05.27

커넥션풀과 데이터소스 이해

커넥션 풀 이해데이터베이스 커넥션을 획득할 때는 다음과 같은 복잡한 과정을 거친다.1. 애플리케이션 로직은 DB 드라이버를 통해 커넥션을 조회한다.2. DB 드라이버는 DB와 TCP/IP 커넥션을 연결한다. 물론 이 과정에서 3way handshake와 같은 TCP/IP연결을 위한 네트워크 동작이 발생한다.3. DB 드라이버는 TCP/IP 커넥션이 연결되면 ID, PW와 기타 부가정보를 DB에 전달한다.4. DB는 ID, PW를 통해 내부 인증을 완료하고, 내부에 DB 세션을 생성한다.5. DB는 커넥션 생성이 완료되었다는 응답을 보낸다.6. DB 드라이버는 커넥션 객체를 생성해서 클라이언트에 반환한다. 이렇게 커넥션을 새로 만드는 것은 과정도 복잡하고, 시간도 많이 소모되는 일이다.DB는 물론이고, 애..

공부/Spring 2025.05.08

JDBC의 이해

우선 https://start.spring.io/에서 프로젝트를 다음과 같이 생성한다. 또한 h2 DB를 사용할 것이기 때문에 h2 DB를 설치해주도록 하자.h2 DB는 다음의 포스팅을 참고하여 설치한다.https://surrealcode.tistory.com/87 스프링 회원 관리 예제 2https://surrealcode.tistory.com/86 스프링 회원 관리 예제이번엔 회원 관리 예제를 만들어보려 한다.기본 환경설정에 관한 내용은 아래를 참고하자.https://surrealcode.tistory.com/85 스프링 입문 - 프로젝트surrealcode.tistory.com h2 DB에 연결을 시도해보고 연결이 된다면 다음과 같은 쿼리를 실행하여 확인해보자. drop table member if..

공부/Spring 2025.05.06

스프링 회원 관리 예제 2

https://surrealcode.tistory.com/86 스프링 회원 관리 예제이번엔 회원 관리 예제를 만들어보려 한다.기본 환경설정에 관한 내용은 아래를 참고하자.https://surrealcode.tistory.com/85 스프링 입문 - 프로젝트 환경 설정2https://surrealcode.tistory.com/84 스프링 입문 -surrealcode.tistory.com 회원 관리 예제 - 웹 MVC개발 회원 웹 기능회원 웹 기능 폼을 만들어보자.@Controllerpublic class HelloController { //localhost:8080으로 들어오면 나오는 홈 화면 @GetMapping("/") public String home(){ return "..

공부/Spring 2024.10.21
반응형