[Spring Project] Board CRUD

스프링 프로젝트 개발환경

SoniaComp
5 min readFeb 7, 2020

IDE

- Spring Tool Suite IDE

데이터 베이스 연결

  1. Spring Initializer(start.spring.io)
    Gradle, Jave, SpringBoot 2.2.4, WAR, java8
  2. 데이터 베이스 연결
    1) application.properties: SQL 연결 데이터(url, username, p/w) 작성
    2) DatabaseConfiguration.java: 설정 파일의 위치 및 연결 설정파일(hikariCP) 리턴, 마이바티스 연동(쿼리, 비즈니스 로직 분리 프레임워크)
    3) JunitTest: 마이바티스 연결 확인
    // 로컬 DB 연결
    spring.datasource.hikari.driver-class-name=com.mysql.cj.jdbc.Driver
    spring.datasource.hikari.jdbc-url: jdbc:mysql://localhost:3306/insight?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC
    spring.datasource.hikari.username=아이디
    spring.datasource.hikari.password=비밀번호
    spring.datasource.hikari.connection-test-query=SELECT 1 // 테스트 쿼리
    // Azure 연결
    spring.datasource.hikari.driver-class-name=com.mysql.cj.jdbc.Driver
    spring.datasource.hikari.jdbc-url=jdbc:mysql://sonia-mysql-server.mysql.database.azure.com:3306/insight?useSSL=true&requireSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC
    spring.datasource.hikari.username=sonia@sonia-mysql-server
    spring.datasource.hikari.password=*******
    spring.datasource.hikari.connection-test-query=SELECT 1

Read

  1. src/main/resources/static/css/style.css ( 생략 )
  2. 의존성을 추가하더라도, ‘lmbok’ installer로 이클립스에 플러그인 설치해야만 ‘lombok’이 정상적으로 작동
    : lombok은 DTO의 멤버들이 private할 때 필요한 getter, setter함수를 자동으로 생성해줌(mac의 경우 sts.ini에 lombok을 설치. lombok의 위치는 상관 없음)
  3. BoardDTO: Data TransferObject — 애플리케이션 내의 각 계층 간 데이터를 주고 받는 데 사용되는 객체
    - [application.properties]에 추가: JAVA명명규칙(Camel), SQL명명규칙(snake)의 호환
    $ mybatis.configuration.map-underscore-to-camel-case=true
    - 위의 설정값을 적용[DatabaseConfiguration.java]
  4. Controller
    Service
    Mapper
    sql-***.xml
    ***.html

Create

***.html → Controller → Service, Mapper → sql-***.xml

Read(Detail)

  • Check the Logic
    글 선택 → 글의 상세화면 호출하는 기능(1) → 조회수 증가(2) → 화면에 표시
  • ***.html(make link at the List View)→ Controller → Service, Mapper → sql-xxx.xml → *.html(Detail View)

Update, Delete

***.html → Controller → Service, Mapper → sql-***.xml

* Spring MVC 패턴의 이해: Dispatcher Servlet

* JSP를 html로 만들어주는 타임리프(Thymeleaf)

참고 링크

--

--

SoniaComp
SoniaComp

Written by SoniaComp

Data Engineer interested in Data Infrastructure Powering Fintech Innovation (https://www.linkedin.com/in/sonia-comp/)

No responses yet