Spring
spring boot + mybatis 초간단 예제
Rust Choi
2020. 1. 20. 10:33
인텔리J에서 springboot 프로젝트 생성 (web, thymeleaf 템플릿 선택)
오라클 DB 준비.
member 테이블 생성.
pom.xml에 디펜던시 추가
<!-- mybatis -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.0.1</version>
</dependency>
<!-- oracle ojdbc -->
<dependency>
<groupId>com.oracle.ojdbc</groupId>
<artifactId>ojdbc8</artifactId>
<version>19.3.0.0</version>
</dependency>
application.properties 설정 추가 (.yml로 해도 됨)
spring.datasource.url=jdbc:oracle:thin:@//localhost:1521/ORCL
spring.datasource.username=test
spring.datasource.password=test
spring.datasource.driver-class-name=oracle.jdbc.OracleDriver
mybatis.configuration.map-underscore-to-camel-case=true
mybatis.type-aliases-package=com.test
mybatis.mapper-locations=/mapper/*.xml
SpringApplication.java에 설정 어노테이션 추가
@SpringBootApplication
@Configuration
@MapperScan(basePackages = "com.test", annotationClass = Mapper.class)
public class Demo2Application {
}
Member.java에 @Alias 추가. (필수는 아님. resultType을 간단하게 쓰기 위함.)
@Alias("Member")
public class Member {
private String id;
private String name;
private String email;
}
매퍼 xml 작성
<mapper namespace="com.test.member.repository.MemberMapper">
<select id="selectMemberList" resultType="Member">
SELECT
ID,
NAME,
EMAIL
FROM MEMBER
</select>
</mapper>
매퍼 java 작성 (인터페이스)
@Mapper
public interface MemberMapper {
List<Member> selectMemberList();
}
주의사항 - 매퍼 java파일과 xml파일은 파일명이 같아야 함. MemberMapper.java, MemberMapper.xml