BackEND/Java
spring boot gradle mybatis 연동
mingmingIT
2020. 12. 9. 14:42
1. build.gradle
아래와 같이 추가하고 refresh gradle project
dependencies {
// MyBatis
compile "org.springframework.boot:spring-boot-starter-jdbc:2.0.1.RELEASE"
compile "mysql:mysql-connector-java:5.1.46"
compile "org.mybatis.spring.boot:mybatis-spring-boot-starter:1.3.1"
compile "org.mybatis:mybatis-spring:1.3.1"
compile "org.mybatis:mybatis:3.4.5"
}
2. AbstractMapper Create
query 를 수행하기 위해 Spring의 Mybatis 연동 지원 공통 클래스를 만든다.
3. UserMapper Create
package com.mapper;
import java.util.HashMap;
import org.springframework.stereotype.Repository;
import com.common.mapper.AbstractMapper;
@Repository("userMapper")
public class UserMapper extends AbstractMapper{
public String getUserid(HashMap<String, Object> param) {
return selectOne("mapper.UserMapper.getUserid", param);
}
}
AbstractMapper 를 상속받아서 위와 같이 Mapper.java를 만든다.
4. mapper xml Crete
<?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="mapper.UserMapper">
<select id="getUserid" parameterType="java.util.HashMap" resultType="java.lang.String">
SELECT u.user_id
FROM userinfo u
WHERE u.user_id = #{user_id}
</select>
</mapper>
UserMapper 에서 호출을 할때는 "namespace"를 맞춰서 호출을 한다.
5. application.yaml 수정
mapper 경로를 찾을수 있게 아래와 같이 경로를 넣어준다.
mybatis:
mapper-locations: classpath:mapper/**/**.xml