728x90
![[Spring] MyBatis Mapper interface 자동 주입 [Spring] MyBatis Mapper interface 자동 주입](http://t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png)
[이 글] 보다 조금 더 간단해진 방식이다. 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 |
댓글