Mybatis와 Spring을 통합하여 DB와의 연결 설정
package com.bit.board;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.SqlSessionTemplate;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import javax.sql.DataSource;
@SpringBootApplication
public class BoardApplication {
public static void main(String[] args) {
SpringApplication.run(BoardApplication.class, args);
}
@Bean
public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception {
SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
sqlSessionFactoryBean.setDataSource(dataSource);
sqlSessionFactoryBean.setConfigLocation(new ClassPathResource("mybatis/config.xml"));
Resource[] resources = new PathMatchingResourcePatternResolver().getResources("classpath:mybatis/mappers/*.xml");
sqlSessionFactoryBean.setMapperLocations(resources);
return sqlSessionFactoryBean.getObject();
}
@Bean
public SqlSession sqlSession(SqlSessionFactory sqlSessionFactory) {
return new SqlSessionTemplate(sqlSessionFactory);
}
}
- dataSource 매개변수는 데이터베이스 연결 정보를 제공하는 객체
- setConfigLocation 메서드는 MyBatis 설정 파일(mybatis/config.xml)의 위치를 지정
- setMapperLocations 메서드는 MyBatis Mapper XML 파일의 위치를 지정하여 SQL 쿼리를 정의한 XML 파일들을 로드
- SqlSession은 MyBatis에서 SQL 쿼리를 실행하고 결과를 처리
applcation.properties 설정
spring.application.name=board
# DataBase Settings
spring.datasource.url=jdbc:mysql://localhost:3306/board
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=1234
# JSP Settings
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp
server.servlet.jsp.init-parameters.development=true
# Mybatis Settings
mybatis.mapper-locations=classpath:/mybatis/mappers
- DB, JSP, MyBatis 등 세팅 진행
- classpath는 resources 폴더를 의미
User
@Data
: lombok 라이브러리의 요소중 하나로, Getter, Setter, ToString, Equals 등을 모두 포함