백엔드/myBatis
MyBatis 3.2) Mapper 방식과 DAO Pattern은 같이 사용할 수 없다.
팩트폭력배
2013. 7. 19. 15:05
Mapper 방식은 아래 처럼 사용한다.
pacakge com.openerp.dao public interface RoleDao{ List listRole(Parametersparams); List listRole(Parameters params, int pg, int ps); }
이 경우 Mapper에 등록을 했기때문에 roleMapper 라는 이름으로 bean에 등록이 된다.
"예전부터 사용해오던 DAO 패턴을 같이 쓸 수 없을까?" 라는 궁금증이 생겨 반나절동안 해 보았는데... 안된다.
DAO 패턴도 어쨋든 Spring DI에 등록이 되어야 하는데 같은 클래스가 두개의 이름으로 등록이 되는 현상이 발생된다.
No qualifying bean of type [com.openerp.dao.RoleDao] is defined: expected single matching bean but found 2: roleDao,roleMapper
이 같은 결론을 얻고 생각을 해보니..
DAO Pattern을 그냥 간소화 시켜서 사용하는게 Mapper 방식이네?
reference)
myBatis DAO Pattern example : http://blog.idleworx.com/2011/09/mybatis-dao-example-code-tutorial.html