mybatis XML Configuration 사용 하지 않고 SqlSessionFactory 빌드 하기

이슈
1. Datasource가 동적으로 변경 가능하다.
2. Datasource는 실행 중에 주입된다.
3. 실행 중에 주입 되므로 Xml Configuration을 쓸수 없다.
4. sql문을 파일로 작성 하라.


해결 방법

ENV_ID는 임의의 문자열

TransactionFactory transactionFactory = new JdbcTransactionFactory();
Environment environment = new Environment(ENV_ID, transactionFactory, (DataSource)dataSource);

Configuration configuration = new Configuration(environment);

InputStream inputStream = Resources.getResourceAsStream(ThemeDAOFactory.sqlMapperPath);

XMLMapperBuilder xmlMapperBuilder = new XMLMapperBuilder(inputStream, configuration, ThemeDAOFactory.sqlMapperPath, configuration.getSqlFragments());

xmlMapperBuilder.parse();

SqlSessionFactory sqlSessionFactory = new           SqlSessionFactoryBuilder().build(xmlMapperBuilder.getConfiguration());

댓글

이 블로그의 인기 게시물

Spring Batch - JobParameters Default Value 만들기

Hsqldb Server 재기동 시 오류