728x90
[이 글] 보다 조금 더 간단해진 방식이다. sqlSession을 직접 주입하지 않고 Mapper 위치에서 스캔하도록 한다.
1. root-context.xml
sqlSession bean 설정부분을 지우고 대신 mybatis-spring:scan에 mapper interface가 있는 위치를 지정한다.
<bean id="sqlSessionFactoryBean" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="ds" />
<property name="mapperLocations" value="classpath:mapper/*.xml" />
<property name="typeAliasesPackage" value="com.___.____.model" />
</bean>
<mybatis-spring:scan base-package="com.___.____.model.mapper"/>
2. interface Mapper.java
@Mapper 어노테이션을 붙인다. 붙이지 않아도 잘 스캔되기는 한다.
@Mapper
public interface MemberMapper {
int idCheck(String id) throws Exception;
void registerMember(MemberDto memberDto) throws Exception;
MemberDto login(Map<String, String> map) throws Exception;
}
3. Service.java
sqlSession 대신 Mapper를 직접 사용한다.
@Service
public class MemberServiceImpl implements MemberService {
@Autowired
private MemberMapper memberMapper;
@Override
public int idCheck(String id) throws Exception {
return memberMapper.idCheck(id);
}
@Override
public void registerMember(MemberDto memberDto) throws Exception {
memberMapper.registerMember(memberDto);
}
@Override
public MemberDto login(Map<String, String> map) throws Exception {
return memberMapper.login(map);
}
}
'기록 > BACKEND' 카테고리의 다른 글
[Spring] REST API (0) | 2022.04.29 |
---|---|
[Spring] REST API(feat.jackson-databind, json) (0) | 2022.04.28 |
[Spring] MyBatis 설정(feat.Spring) (0) | 2022.04.26 |
[WEB] MyBatis 설정 (0) | 2022.04.25 |
[Spring] Interceptor (0) | 2022.04.24 |
댓글