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

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

Introduction

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

Prototype

public ObjectWrapperFactory getObjectWrapperFactory() 

Source Link

Usage

From source file:org.mybatis.guice.MyBatisModuleTest.java

License:Apache License

@Test
public void bindObjectWrapperFactoryType() {
    Injector injector = Guice.createInjector(new MyBatisModule() {
        @Override/*w w w. j av a  2s  .  c  o  m*/
        protected void initialize() {
            bindObjectWrapperFactoryType(TestObjectWrapperFactory.class);
            environmentId("test_environment");
            bindDataSourceProvider(dataSourceProvider);
            bindTransactionFactory(transactionFactoryProvider);
        }
    });

    Configuration configuration = injector.getInstance(Configuration.class);

    assertTrue(configuration.getObjectWrapperFactory() instanceof TestObjectWrapperFactory);
}

From source file:org.mybatis.guice.XMLMyBatisModule.java

License:Apache License

/**
 * {@inheritDoc}//from   w  ww .  j  a  va2  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
            }
        }
    }
}