*Spring Tool Suite 4 사용
1. Spring Starter Project 프로젝트 생성
File에서 Spring Starter Project를 클릭해 준다
프로젝트 설정 정보(기본 게시판만 생성할 것이기 때문에 최소로 설정하였다)
- 자바 17 버전
- War패킹
- 스프링부트 2.7.14 버전
- DB는 MariaDB와 MyBatis
- Thymeleaf 템플릿 엔진
*Spring Starter Project의 장점은 프로젝트 생성 시 Dependency를 선택해주기만 하면 자동으로 설정이 된다는 것이다
Finish를 클릭하면 아래와 같이 프로젝트가 생성된다
build.gradle 파일을 클릭하면 프로젝트 생성 시 선택했던 버전정보와 Dependency들이 자동으로 추가되어 있다.
2. 데이터베이스(MariaDB) 연결과 MyBatis 설정
resources 파일에 application.properties 파일에서 DB 설정을 할 수 있다.
tomcat.apache.org DB 설정 정보를 확인할 수 있다.
https://tomcat.apache.org/tomcat-9.0-doc/jndi-datasource-examples-howto.html#MySQL_DBCP_2_Example
MariaDB는 MySQL과 호환되기 mysql부분을 mariadb로 바꿔주기만 하면 된다.
spring.datasource.hikari.jdbc-url=jdbc:mariadb://localhost:3306/DB이름
spring.datasource.hikari.driver-class-name=org.mariadb.jdbc.Driver
spring.datasource.hikari.username=아이디
spring.datasource.hikari.password=비밀번호
mybatis.configuration.map-underscore-to-camel-case=true
차례대로 JDBC-URL, 드라이버 클래스 이름, 데이터베이스에 접속할 사용자 이름, 사용자 비밀번호를 입력해 준다.
사용할 데이터베이스에 따라 내용만 바꿔주면 된다.
underscore-to-camel-case : 데이터베이스에서 언더스코어(_)가 들어간 컬럼을 자바 클래스의 카멜표기법 필드와 매핑해 주는 설정이다.
ex. board_no ↔ boardNo
3. Config 파일 설정
http://mybatis.org/spring/getting-started.html
MyBatis 공식문서 참고해서 작성해주면 된다
import javax.sql.DataSource;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.SqlSessionTemplate;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.Resource;
import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;
import lombok.RequiredArgsConstructor;
@RequiredArgsConstructor
@Configuration
public class MybatisConfig {
@Bean
DataSource dataSource() {
return new HikariDataSource(hikariConfig());
}
private final ApplicationContext application;
@Bean
@ConfigurationProperties(prefix ="spring.datasource.hikari")
HikariConfig hikariConfig() {
return new HikariConfig();
}
@Bean
public SqlSessionFactory sqlSessionFactory() throws Exception {
SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();
factoryBean.setDataSource(dataSource());
//mapper.xml 사용
String locationPattern = "classpath:/mapper/*-mapper.xml";
Resource[] mapperLocations = application.getResources(locationPattern);
factoryBean.setMapperLocations(mapperLocations);
factoryBean.setConfiguration(mybatisConfiguration());
return factoryBean.getObject();
}
@ConfigurationProperties(prefix = "mybatis.configuration")
@Bean
org.apache.ibatis.session.Configuration mybatisConfiguration() {
return new org.apache.ibatis.session.Configuration();
}
@Bean
public SqlSessionTemplate sqlSession() throws Exception {
return new SqlSessionTemplate(sqlSessionFactory());
}
}
config파일 설정 후 실제로 mapper패키지까지 만들어주면 설정완료. 프로젝트가 정상적으로 실행 된다.
'프로젝트 > 게시판' 카테고리의 다른 글
[SpringBoot] 게시판 6. 게시글 입력 기능 구현 (0) | 2023.08.03 |
---|---|
[SpringBoot] 게시판 5. 게시글 상세보기 페이지 구현 (0) | 2023.08.03 |
[SpringBoot] 게시판 4. 게시글 조회 기능 +페이징 처리 - 비동기 구현 (0) | 2023.08.02 |
[SpringBoot] 게시판 3. 게시글 입력 테스트 코드 작성 (0) | 2023.08.01 |
[SpringBoot] 게시판 1. MariaDB 테이블 생성(게시글, 댓글) (0) | 2023.07.28 |