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());
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());
댓글
댓글 쓰기