반응형
소스와 쿼리의 분리하여 비즈니스 로직에만 집중할 수 있도록 만든 mybatis입니다.
mybatis 사이트를 가니 MyBatis Spring-boot-starter를 사용하라고 합니다.
mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/
링크를 클릭하면 설정과 사용 방법이 설명되어 있습니다.
1. 의존성 추가
dependencies {
compile("org.mybatis.spring.boot:mybatis-spring-boot-starter:2.1.3")
compile('org.springframework.boot:spring-boot-starter-jdbc')
}
2. application.yml 설정
mybatis:
type-aliases-package: com.otrodevym.spring
mapper-locations: mybatis/mapper/**/*.xml
3. mybatis-config.xml 파일 생성 및 설정
mybatis 설정을 할 수 있는 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>
<mappers>
<mapper resource="TestMapper.xml"/>
</mappers>
</configuration>
4. 테스트 테이블 생성 및 데이터 추가
create table test (
num int not null auto_increment,
name char(50) not null,
primary key (num)
);
insert into test(name) values ('kim');
select * from test;
5. Mybatis 연동 테스트
테스트를 위해 spring-web을 의존에 추가합니다.
implementation 'org.springframework.boot:spring-boot-starter-web'
결과 파일들
5-1. MybatisTestController
@RestController
public class MybatisTestController {
private MybatisTestService testService;
@Autowired
public MybatisTestController(MybatisTestService testService) {
this.testService = testService;
}
@GetMapping("/getTest")
public List<Map<String, Object>> getTest() {
return testService.getTest();
}
}
5-2. MybatisTestService
public interface MybatisTestService {
List<Map<String, Object>> getTest();
}
5-3. MybatisTestServiceImpl
@Service
public class MybatisTestServiceImpl implements MybatisTestService{
private MybatisTestMapper mybatisTestMapper;
@Autowired
public MybatisTestServiceImpl(MybatisTestMapper mybatisTestMapper) {
this.mybatisTestMapper = mybatisTestMapper;
}
@Override
public List<Map<String, Object>> getTest() {
return mybatisTestMapper.getTest();
}
}
5-4. MybatisTestMapper
@Repository
@Mapper
public interface MybatisTestMapper {
List<Map<String, Object>> getTest();
}
5-5. MybatisTestMapper.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="com.otrodevym.spring.base.common.MybatisTestMapper">
<select id="getTest" resultType="java.util.HashMap">
SELECT * FROM test;
</select>
</mapper>
5-6. localhost:8080/getTest 호출
반응형
'개발(합니다) > Java&Spring' 카테고리의 다른 글
[spring boot 설정하기-4] Swagger 설정 및 사용 방법 (0) | 2021.04.07 |
---|---|
[spring boot 설정하기-3.2] JPA 설정 및 사용 방법 (0) | 2021.04.06 |
[spring boot 설정하기-3] Mysql 설정 및 사용 방법 (0) | 2021.04.04 |
[spring boot 설정하기-2] Lombok 설정 및 사용 방법 (0) | 2021.04.03 |
[spring boot 설정하기-1] spring boot intellij에서 구성하기 (2) | 2021.04.02 |