Example usage for org.apache.ibatis.session Configuration getObjectFactory

List of usage examples for org.apache.ibatis.session Configuration getObjectFactory

Introduction

In this page you can find the example usage for org.apache.ibatis.session Configuration getObjectFactory.

Prototype

public ObjectFactory getObjectFactory() 

Source Link

Usage

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
            }
        }
    }
}