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)

그럼 설정 완료!

 

 

 

반응형