/src/main/resources/application.properties
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/
spring.datasource.username=아이디
spring.datasource.password=비밀번호
기존스프링코드는아래와같다
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://localhost:3307/board"></property>
<property name="username" value="root"></property>
<property name="password" value="root"></property>
</bean>
sql 매퍼들이 위치하는 경로, Mybatis 설정경로 지정한다.
@Configuration
@MapperScan(basePackages = "kr.co.example" )
public class MybatisConfiguration {
@Bean
public SqlSessionFactory sqlSessionFactory(@Autowired DataSource dataSrouce, ApplicationContext applicationContext) throws Exception{
SqlSessionFactoryBean factoryBean= new SqlSessionFactoryBean();
factoryBean.setDataSource(dataSrouce);
factoryBean.setMapperLocations(applicationContext.getResources("classpath:mybatis/sql/*.xml"));
SqlSessionFactory factory = factoryBean.getObject();
factory.getConfiguration().setMapUnderscoreToCamelCase(true);
return factoryBean.getObject();
}
@Bean
public SqlSessionTemplate sqlSessionTemplate(@Autowired SqlSessionFactory sqlSessionFactory) {
return new SqlSessionTemplate(sqlSessionFactory);
}
}
기존스프링코드는아래와같다
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<property name="typeAliasesPackage" value="model"></property>
<property name="mapperLocations" value="classpath*:dao/mapper/**/*.xml"></property>
</bean>
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg name="sqlSessionFactory" ref="sqlSessionFactory"></constructor-arg>
</bean>
이후 생략
기존 스프링과 동일하다.
application.properties 에 전부 설정하는 방법
spring.datasource.driver-class-name=net.sf.log4jdbc.sql.jdbcapi.DriverSpy
spring.datasource.url=jdbc:log4jdbc:mysql://localhost:3306/
spring.datasource.username=아이디
spring.datasource.password=비밀번호
logging.config=src/main/resources/logback-spring.xml
logging.level.com.andy=trace
# 매핑할 모델의 패키지 경로 (mybatis 매핑 type을 짧게 쓰기 위한 설정)
mybatis.type-aliases-package=com.example.vo
# mapper.xml 위치 명시
mybatis.mapper-locations=classpath:mybatis/sql/*.xml
# model 프로퍼티 camel case 설정
mybatis.configuration.map-underscore-to-camel-case=true
SpringBootApplicaion 에 MapperScan 추가
@MapperScan(basePackageClasses = ExampleSpringApplication.class)
@SpringBootApplication
public class ExampleSpringApplication {
public static void main(String[] args) {
SpringApplication.run(ExampleSpringApplication.class, args);
}
}