[Spring Project] Board CRUD
IDE
- Spring Tool Suite IDE
데이터 베이스 연결
- Spring Initializer(start.spring.io)
Gradle, Jave, SpringBoot 2.2.4, WAR, java8 - 데이터 베이스 연결
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
- src/main/resources/static/css/style.css ( 생략 )
- 의존성을 추가하더라도, ‘lmbok’ installer로 이클립스에 플러그인 설치해야만 ‘lombok’이 정상적으로 작동
: lombok은 DTO의 멤버들이 private할 때 필요한 getter, setter함수를 자동으로 생성해줌(mac의 경우 sts.ini에 lombok을 설치. lombok의 위치는 상관 없음) - BoardDTO: Data TransferObject — 애플리케이션 내의 각 계층 간 데이터를 주고 받는 데 사용되는 객체
- [application.properties]에 추가: JAVA명명규칙(Camel), SQL명명규칙(snake)의 호환
$ mybatis.configuration.map-underscore-to-camel-case=true
- 위의 설정값을 적용[DatabaseConfiguration.java] - 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