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

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

Introduction

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

Prototype

public void setDefaultFetchSize(Integer defaultFetchSize) 

Source Link

Usage

From source file:org.mybatis.guice.configuration.ConfigurationProviderTest.java

License:Apache License

@Test
public void get_Optionals() throws Throwable {
    String databaseId = "test_database_id";
    final Integer defaultFetchSize = 200;
    final Integer defaultStatementTimeout = 2000;
    when(databaseIdProvider.getDatabaseId(dataSource)).thenReturn(databaseId);
    final Key<TypeHandler<Alias>> aliasTypeHandlerKey = Key.get(new TypeLiteral<TypeHandler<Alias>>() {
    });/* w  w  w  .  j  a va 2s .  c o  m*/
    injector = Guice.createInjector(new AbstractModule() {
        @Override
        protected void configure() {
            bind(Environment.class).toInstance(environment);
            bind(DataSource.class).toInstance(dataSource);
            bindConstant().annotatedWith(Names.named("mybatis.configuration.lazyLoadingEnabled")).to(true);
            bindConstant().annotatedWith(Names.named("mybatis.configuration.aggressiveLazyLoading")).to(false);
            bindConstant().annotatedWith(Names.named("mybatis.configuration.multipleResultSetsEnabled"))
                    .to(false);
            bindConstant().annotatedWith(Names.named("mybatis.configuration.useGeneratedKeys")).to(true);
            bindConstant().annotatedWith(Names.named("mybatis.configuration.useColumnLabel")).to(false);
            bindConstant().annotatedWith(Names.named("mybatis.configuration.cacheEnabled")).to(false);
            bindConstant().annotatedWith(Names.named("mybatis.configuration.defaultExecutorType"))
                    .to(ExecutorType.REUSE);
            bindConstant().annotatedWith(Names.named("mybatis.configuration.autoMappingBehavior"))
                    .to(AutoMappingBehavior.FULL);
            bindConstant().annotatedWith(Names.named("mybatis.configuration.callSettersOnNulls")).to(true);
            bindConstant().annotatedWith(Names.named("mybatis.configuration.defaultStatementTimeout"))
                    .to(defaultStatementTimeout);
            bindConstant().annotatedWith(Names.named("mybatis.configuration.mapUnderscoreToCamelCase"))
                    .to(true);
            bind(DatabaseIdProvider.class).toInstance(databaseIdProvider);
            bind(Configuration.class).toProvider(configurationProvider);
            bind(aliasTypeHandlerKey).toInstance(aliasTypeHandler);
            bind(Interceptor.class).toInstance(interceptor);
        }
    });
    configurationProvider.addConfigurationSetting(new AliasConfigurationSetting("alias", Alias.class));
    JavaTypeAndHandlerConfigurationSettingProvider aliasTypeHandlerSetting = JavaTypeAndHandlerConfigurationSettingProvider
            .create(Alias.class, aliasTypeHandlerKey);
    injector.injectMembers(aliasTypeHandlerSetting);
    configurationProvider.addConfigurationSetting(aliasTypeHandlerSetting.get());
    TypeHandlerConfigurationSettingProvider humanTypeHandlerSetting = new TypeHandlerConfigurationSettingProvider(
            Key.get(HumanTypeHandler.class));
    injector.injectMembers(humanTypeHandlerSetting);
    configurationProvider.addConfigurationSetting(humanTypeHandlerSetting.get());
    configurationProvider.addMapperConfigurationSetting(new MapperConfigurationSetting(TestMapper.class));
    InterceptorConfigurationSettingProvider interceptorSetting = new InterceptorConfigurationSettingProvider(
            Interceptor.class);
    injector.injectMembers(interceptorSetting);
    configurationProvider.addConfigurationSetting(interceptorSetting.get());
    configurationProvider.addConfigurationSetting((new ConfigurationSetting() {
        @Override
        public void applyConfigurationSetting(Configuration configuration) {
            configuration.setDefaultFetchSize(defaultFetchSize);
        }
    }));

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

    configuration.getMappedStatementNames(); // Test that configuration is valid.
    assertEquals(environment, configuration.getEnvironment());
    assertEquals(Alias.class, configuration.getTypeAliasRegistry().getTypeAliases().get("alias"));
    assertTrue(configuration.getTypeHandlerRegistry().hasTypeHandler(Alias.class));
    assertTrue(configuration.getTypeHandlerRegistry().hasTypeHandler(Human.class));
    assertEquals(1, configuration.getMapperRegistry().getMappers().size());
    assertTrue(configuration.getMapperRegistry().getMappers().contains(TestMapper.class));
    assertEquals(1, configuration.getInterceptors().size());
    assertTrue(configuration.getInterceptors().contains(interceptor));
    verify(databaseIdProvider).getDatabaseId(dataSource);
    assertEquals(databaseId, configuration.getDatabaseId());
    assertTrue(configuration.isLazyLoadingEnabled());
    assertFalse(configuration.isAggressiveLazyLoading());
    assertFalse(configuration.isMultipleResultSetsEnabled());
    assertTrue(configuration.isUseGeneratedKeys());
    assertFalse(configuration.isUseColumnLabel());
    assertFalse(configuration.isCacheEnabled());
    assertEquals(ExecutorType.REUSE, configuration.getDefaultExecutorType());
    assertEquals(AutoMappingBehavior.FULL, configuration.getAutoMappingBehavior());
    assertTrue(configuration.isCallSettersOnNulls());
    assertEquals(defaultStatementTimeout, configuration.getDefaultStatementTimeout());
    assertTrue(configuration.isMapUnderscoreToCamelCase());
    assertEquals(defaultFetchSize, configuration.getDefaultFetchSize());
}