Programing/Springboot
springboot 2.x gradle 웹프로젝트 db mybatis 연동 설정 데이터베이스 연동
리커니
2019. 11. 19. 16:34
반응형
springboot 2.x gradle 웹프로젝트 db mybatis 연동 설정 데이터베이스 연동
웹프로젝트 기본 설정은 아래의 Link 를 참고하세요.
Link : springboot 2.x gradle jsp 연동 설정 웹프로젝트 생성
mybatis를 연동하기 위한 의존성 주입을 해줍니다.
/*mybatis*/
compile group: 'org.mybatis.spring.boot', name: 'mybatis-spring-boot-starter', version: '2.1.1'
compile('org.springframework.boot:spring-boot-starter-jdbc')
refresh gradle 후 mybatis config 파일을 생성해줍니다.
import javax.sql.DataSource;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
@MapperScan(
basePackages = "mapper설정 패키지 풀 경로",
sqlSessionFactoryRef = "sqlSessionFactory"
)
public class MybatisSimpleConfig {
@Bean
public SqlSessionFactory sqlSessionFactory(DataSource dataSource, ApplicationContext applicationContext) throws Exception {
SqlSessionFactoryBean factory = new SqlSessionFactoryBean();
factory.setDataSource(dataSource);
factory.setMapperLocations(applicationContext.getResources("classpath*:패키지경로/mapper/*.xml"));
factory.setTypeAliasesPackage("alias VO 패키지 경로");
org.apache.ibatis.session.Configuration configuration = new org.apache.ibatis.session.Configuration();
configuration.setMapUnderscoreToCamelCase(true);
configuration.setJdbcTypeForNull(null);
factory.setConfiguration(configuration);
return factory.getObject();
}
}
application.properties 파일에 데이터베이스 정보를 입력합니다.
mariadb 일 경우 mariadb 맞는 정보를 oracle일 경우 oracle 맞는 정보를 입력합니다.
springboot 에서는 기본 DBCP가 hikariCP 기 때문에 기본 설정정보를 추가합니다.
#MariaDB
spring.datasource.driverClassName=org.mariadb.jdbc.Driver
spring.datasource.url=jdbc:mariadb://아이피:포트/스키마
spring.datasource.username=아이디
spring.datasource.password=패스워드
#Oracle
#spring.datasource.driver-class-name=oracle.jdbc.OracleDriver
#spring.datasource.url=jdbc:oracle:thin:@아이피:포트:스키마
#spring.datasource.username=아이디
#spring.datasource.password=패스워드
#Hikari
spring.datasource.hikari.maximum-pool-size=10
spring.datasource.hikari.minimum-idle=5
spring.datasource.hikari.connection-timeout=5000
service > service imple > mapper 흐름에 관해서는 생략을 하겠습니다.
mapper에는 mapper 어노테이션을 추가합니다.
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface TaatMapper{
int getNum();
}
mapper xml을 생성합니다.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="매퍼풀패키지경로">
<select id="getNum" resultType="java.lang.Integer">
SELECT 1
FROM DUAL
</select>
</mapper>
mapper namespace 에는 매퍼의 풀 경로를 맞추어 줍니다. 경로에서 F3을 클릭해서 이동이 되어야 합니다.(Eclipse)
그럼 설정 완료!
반응형