본문 바로가기

mybatis

SqlSession was not registered for synchronization because synchronization is not active. Spring - myBatis 환경에서 트랜잭션이 적용되지 않으면 아래 로그를 볼 수 있다. Creating a new SqlSession SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1ad7d61e] was not registered for synchronization because synchronization is not active Fetching JDBC Connection from DataSource trace com.mchange.v2.resourcepool.BasicResourcePool@723b12e9 [managed: 20, unused: 19, excluded: 0] (e.g. com.mchange.v2.c3p0.i..
java.lang.AbstractMethodError: Method com/mchange/v2/c3p0/impl/NewProxyPreparedStatement.isClosed()Z is abstract java.lang.AbstractMethodError: Method com/mchange/v2/c3p0/impl/NewProxyPreparedStatement.isClosed()Z is abstract org.mybatis mybatis 3.4.6 org.mybatis mybatis-spring 1.3.2 위 처럼 mybatis 3.4.6, mybatis-spring 버전을 1.3.2로 사용하고 테스트를 하니 위 에러가 나더라.. com.mchange c3p0 0.9.5.2 c3p0 라이브러리 버전이 낮아서 그런거 이므로 최신 버전으로 바꾸어 사용하면 된다.
MyBatis 3.2) Mapper 방식과 DAO Pattern은 같이 사용할 수 없다. Mapper 방식은 아래 처럼 사용한다. pacakge com.openerp.dao public interface RoleDao{ List listRole(Parameters params); List listRole(Parameters params, int pg, int ps); } 이 경우 Mapper에 등록을 했기때문에 roleMapper 라는 이름으로 bean에 등록이 된다. "예전부터 사용해오던 DAO 패턴을 같이 쓸 수 없을까?" 라는 궁금증이 생겨 반나절동안 해 보았는데... 안된다. DAO 패턴도 어쨋든 Spring DI에 등록이 되어야 하는데 같은 클래스가 두개의 이름으로 등록이 되는 현상이 발생된다. No qualifying bean of type [com.openerp.dao.RoleD..
iBatis isEqual top_vacancy = 'Y',