Mybatis설정하기
pom.xml에서 Mybatis Framework dependency를 추가한다.
loh4jdbc가져오기
<dependency>
<groupId>org.bgee.log4jdbc-log4j2</groupId>
<artifactId>log4jdbc-log4j2-jdbc4.1</artifactId>
<version>1.16</version>
</dependency>
starter에 없는 것들은 소스를 가져와서 붙여넣기를 해야된다.
application.properties수정하기
spring.datasource.url=jdbc:log4jdbc:mysql://아이피:3306/test
spring.datasource.hikari.driver-class-name=net.sf.log4jdbc.sql.jdbcapi.DriverSpy
spring.datasource.hikari.jdbc-url=jdbc:oracle:thin:@localhost:1521:XE
spring.datasource.hikari.username=아이디
spring.datasource.hikari.password=패스워드
spring.datasource.hikari.connection-timeout=20000
spring.datasource.hikari.minimum-idle=5
spring.datasource.hikari.maximum-pool-size=20
spring.datasource.hikari.idle-timeout=300000
spring.datasource.hikari.max-lifetime=1200000
spring.datasource.hikari.auto-commit=true
#logging.level.root=warn
#logging.level.org.springframwork.web=debug
spring.messages.encording=utf-8
application.properties를 이용하여 mybatis를 이용할 수 있도록 환경설정을 해준다.
log4jdbc.log4j2.properties 생성
log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
logback.xml 생성
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration>
<configuration>
<include resource="org/springframework/boot/logging/logback/base.xml" />
<logger name="jdbc.splonly" level="DEBUG" />
<logger name="jdbc.sqltiming" level="INFO" />
<logger name="jdbc.audit" level="WARN" />
<logger name="jdbc.resultset" level="ERROR" />
<logger name="jdbc.resultsettable" level="ERROR" />
<logger name="jdbc.connection" level="INFO" />
</configuration>
HikariCP설정하기
모든환경설정은 application.properties에서 하는데 application.properties에서 가능하지 않은 환경설정(추가환경설정)이라면 applicationconfig라는 클래스를 만들고 @configuration을 이용하여 주입해야하는데 Spring Configuration Processor를 이용하여 연동한다.
@Configurable
@PropertySource("classpath:/application.properties")
@Slf4j
public class DatabaseConfiguration {
@Autowired
private ApplicationContext applicationContext;
@Bean
@ConfigurationProperties(prefix="spring.datasource.hikari")
public HikariConfig hikariConfig() {
return new HikariConfig();
}
@Bean
public DataSource dataSource() throws Exception{
DataSource dataSource = new HikariDataSource(hikariConfig());
log.info("datasource : {}", dataSource);
return dataSource;
}
}
접두사가 spring.datasource.hikari인 정보들을 가져와 hikariConfig를 만들며 만들어진 hikariConfig를 통새 datasource를 만든다.
Junit을 이용하여 연결이 됐는지 확인하기
HikariCp 세팅
@Bean
public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception{
SqlSessionFactoryBean sqlSessionFactory = new SqlSessionFactoryBean();
sqlSessionFactory.setDataSource(dataSource);
Resource configLocation = new PathMatchingResourcePatternResolver().getResource("classpath:/mapper/mybatis-config.xml\\");
sqlSessionFactory.setMapperLocations(applicationContext.getResources("classpath:/mapper/mybatis-mapper.xml\\"));
sqlSessionFactory.setConfigLocation(configLocation);
return sqlSessionFactory.getObject();
}
@Bean
public SqlSessionTemplate sqlSessioinTemplate(SqlSessionFactory sqlSessionFactory) {
return new SqlSessionTemplate(sqlSessionFactory);
}
SqlSessionFactory를 이용하여 bean을 만들고 set을 이용하여 주입한다
mybatis-mapper.xml생성
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<typeAliases>
<typeAlias type="com.example.vo.CityVO" alias="cityVO"/>
</typeAliases>
</configuration>
줄여서 사용하기위해 생성
<?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="City">
</mapper>
'SpringBoot 코딩' 카테고리의 다른 글
9. Spring SeCurity (SpringBootSecurityDemo) (0) | 2021.12.11 |
---|---|
8. RestFulApi를 이용한 프로젝트만들기, war packaging 진짜 Tomcat사용하기 (demo) (0) | 2021.12.09 |
6. Database(NCloud)를 이용한 SpringBoot (BootJdbcDemo) (0) | 2021.11.24 |
5. Thymeleaf사용하기 (templatedemo) (0) | 2021.11.24 |
4. 정적페이지를 이용한 SpringBoot Project(spring web) (0) | 2021.11.23 |