List of usage examples for org.apache.ibatis.session Configuration getObjectFactory
public ObjectFactory getObjectFactory()
From source file:org.mybatis.guice.MyBatisModuleTest.java
License:Apache License
@Test public void bindObjectFactoryType() { Injector injector = Guice.createInjector(new MyBatisModule() { @Override//from ww w . j a v a2 s .c om protected void initialize() { bindObjectFactoryType(TestObjectFactory.class); environmentId("test_environment"); bindDataSourceProvider(dataSourceProvider); bindTransactionFactory(transactionFactoryProvider); } }); Configuration configuration = injector.getInstance(Configuration.class); assertTrue(configuration.getObjectFactory() instanceof TestObjectFactory); }
From source file:org.mybatis.guice.XMLMyBatisModule.java
License:Apache License
/** * {@inheritDoc}//from ww w.jav a2 s. c o m */ @Override final void internalConfigure() { this.initialize(); Reader reader = null; try { reader = getResourceAsReader(getResourceClassLoader(), classPathResource); SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader, environmentId, properties); bind(SqlSessionFactory.class).toInstance(sessionFactory); Configuration configuration = sessionFactory.getConfiguration(); // bind mappers Collection<Class<?>> mapperClasses = configuration.getMapperRegistry().getMappers(); for (Class<?> mapperType : mapperClasses) { bindMapper(mapperType); } // request injection for type handlers Collection<TypeHandler<?>> allTypeHandlers = configuration.getTypeHandlerRegistry().getTypeHandlers(); for (TypeHandler<?> handler : allTypeHandlers) { requestInjection(handler); } // request injection for interceptors Collection<Interceptor> interceptors = configuration.getInterceptors(); for (Interceptor interceptor : interceptors) { requestInjection(interceptor); } // request injection for object factory. requestInjection(configuration.getObjectFactory()); // request injection for object wrapper factory. requestInjection(configuration.getObjectWrapperFactory()); } catch (Exception e) { addError("Impossible to read classpath resource '%s', see nested exceptions: %s", classPathResource, e.getMessage()); } finally { if (reader != null) { try { reader.close(); } catch (IOException e) { // close quietly } } } }