누구나 한번 쯤 

sqlSessionFactory.openSession()

sqlSession.쿼리

sqlSession.close() 

이 중복코드가 귀찮다고 생각해봤을 것이다.


이를 위해서 MyBatis에서는 interface를 이용한 자동 매퍼 설정을 만들어났다.

@MapperScan이라는 애노테이션을 이용하면 된다.


1. 일단 @Configuration 클래스를 만든다.

@Configuration @MapperScan(basePackages="test.mapping", annotationClass=Mapper.class) public class MapperConfigurer { }

2. 매퍼 인터페이스를 만든다.

@Mapper public interface DynamicMapper { @Select("select * from lcate where seq = #{num }") public List<Map> selectList(Map num);

@Insert("insert into lcate(code, name) values('003', '김성욱')") public int insertListMember(); }

편의상 xml 파일을 만들지 않고 애노테이션을 사용해서 쿼리문을 만들었다.

3. @Autowired로 다음과 같이 Injection을 한다.

@Autowired
DynamicMapper dynamicMapper;

4. 메서드를 호출한다

dynamicMapper.insertListMeber(); 와 같이 호출하면 된다.


+ Recent posts