본문 바로가기
Codepresso

Spring Boot를 활용한 웹 개발 초급

by 선의 2022. 3. 19.

Data Access Layer의 개념

DB에 접근하여 데이터 저장, 조회 등을 수행하는 역할
Service와 DB 사이의 추상화된 계층 → DB 기술이 변경되어도 Service 계층의 코드는 변경 X

데이터 접근 기술

  • JDBC
    • DB에 접근하기 위한 Java의 표준 API
  • JDBC Template
    • JDBC를 효율적으로 사용하기 위한 Spring API
  • SQL Mapper
    • SQL과 Java 객체를 매핑하는 기술
    • SQL의 input 또는 output을 Java 객체와 매핑
    • MyBatis를 일반적으로 사용
  • ORM(Object Relational Mapping)
    • RDBMS의 테이블과 Java 객체를 매핑하는 기술
    • ORM Framework이 객체와 테이블을 매핑하는 역할을 수행
    • ORM Framework이 SQL을 자동으로 생성
    • Hibernate, Spring Data JPA가 주로 사용됨

국내에서는 SQL Mapper, 세계적으로는 ORM을 주로 사용

 

MyBatis 활용 준비 1 - Maven 의존성 설정

application.properties를 통해 설정

Maven

Java 프로젝트에서 사용되는 빌드 자동화 도구(소스코드를 실행 가능한 SW 산출물로 만드는 과정을 단순화함)

주요 기능 (1) 프로젝트 구성 및 빌드 관리 (2) 라이브러리 의존성 관리

사용할 라이브러리가 Maven Repository에 등록되어 있어야 함

Maven pop.xml

  1. Project Object Model, 프로젝트를 빌드하기 위해 필요한 정보를 기술하는 XML 파일
  2. — 프로젝트 정보, 라이브러리 의존성 정보, 빌드 단계에서 사용되는 정보
  3. 최소— groupId: 다양한 프로젝트 간 식별가능한 고유한 이름(회사, 조직 도메인)— version: 현재 개발중인 application의 버전MyBatis 활용 준비 2 - 스프링 설정과 H2 DB 활용DB Table, 데이터 초기화
  4. spring.datasource.driver-class-name=org.h2.Driver - DB 연결을 위해 org.h2.Driver 사용 spring.datasource.url=jdbc:hw:mem:todo - DB 접속 url 등 spring.datasource.username=username spring.datasource.password=password
  5. spring project/resources/scheman.sql 생성 → djvmf wotlwkr → h2 db 콘솔 확인
  6. H2 DB 설정
  7. — dependencies: 다수의 dependency, 사용하고자하는 외부 라이브러리에 대한 정보
  8. — artifactId: 프로젝트 하위의 애플리케이션 이름, 빌드 후 생성되는 산출물 파일 명(프로젝트 이름)
  9. — project 태그로 시작

 

강의를 참고해 개발한 블로그는 아래 코드를 통해 확인 가능

https://github.com/sunnyineverywhere/codepresso-spring-blog

 

GitHub - sunnyineverywhere/codepresso-spring-blog

Contribute to sunnyineverywhere/codepresso-spring-blog development by creating an account on GitHub.

github.com

 


코드프레소 Java 웹 개발 체험단 활동 중(https://www.codepresso.kr/)