List of usage examples for org.apache.ibatis.session Configuration getInterceptors
public List<Interceptor> getInterceptors()
From source file:org.mybatis.guice.configuration.ConfigurationProviderTest.java
License:Apache License
@Test public void get() { injector = Guice.createInjector(new AbstractModule() { @Override/*from ww w . ja v a2 s.c o m*/ protected void configure() { bind(Environment.class).toInstance(environment); bind(DataSource.class).toInstance(dataSource); bind(Configuration.class).toProvider(configurationProvider); } }); Configuration configuration = injector.getInstance(Configuration.class); configuration.getMappedStatementNames(); // Test that configuration is valid. assertEquals(environment, configuration.getEnvironment()); assertNull(configuration.getTypeAliasRegistry().getTypeAliases().get("alias")); assertFalse(configuration.getTypeHandlerRegistry().hasTypeHandler(Alias.class)); assertFalse(configuration.getTypeHandlerRegistry().hasTypeHandler(Human.class)); assertEquals(0, configuration.getMapperRegistry().getMappers().size()); assertEquals(0, configuration.getInterceptors().size()); assertFalse(configuration.isLazyLoadingEnabled()); assertTrue(configuration.isAggressiveLazyLoading()); assertTrue(configuration.isMultipleResultSetsEnabled()); assertFalse(configuration.isUseGeneratedKeys()); assertTrue(configuration.isUseColumnLabel()); assertTrue(configuration.isCacheEnabled()); assertEquals(ExecutorType.SIMPLE, configuration.getDefaultExecutorType()); assertEquals(AutoMappingBehavior.PARTIAL, configuration.getAutoMappingBehavior()); assertFalse(configuration.isCallSettersOnNulls()); assertNull(configuration.getDefaultStatementTimeout()); assertFalse(configuration.isMapUnderscoreToCamelCase()); }
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 . jav a 2 s.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()); }
From source file:org.mybatis.guice.MyBatisModuleTest.java
License:Apache License
@Test public void addInterceptorClass() { Injector injector = Guice.createInjector(new MyBatisModule() { @Override//from w ww. jav a 2s . c om protected void initialize() { addInterceptorClass(FirstInterceptor.class); environmentId("test_environment"); bindDataSourceProvider(dataSourceProvider); bindTransactionFactory(transactionFactoryProvider); } }); Configuration configuration = injector.getInstance(Configuration.class); assertEquals(1, configuration.getInterceptors().size()); assertTrue(configuration.getInterceptors().iterator().next() instanceof FirstInterceptor); }
From source file:org.mybatis.guice.MyBatisModuleTest.java
License:Apache License
@Test public void addInterceptorsClasses() { Injector injector = Guice.createInjector(new MyBatisModule() { @Override//ww w .j a v a2 s . c o m protected void initialize() { Collection<Class<? extends Interceptor>> interceptors = new ArrayList<Class<? extends Interceptor>>(); interceptors.add(FirstInterceptor.class); interceptors.add(SecondInterceptor.class); addInterceptorsClasses(interceptors); environmentId("test_environment"); bindDataSourceProvider(dataSourceProvider); bindTransactionFactory(transactionFactoryProvider); } }); Configuration configuration = injector.getInstance(Configuration.class); assertEquals(2, configuration.getInterceptors().size()); List<Interceptor> interceptors = configuration.getInterceptors(); assertTrue( interceptors.get(0) instanceof FirstInterceptor || interceptors.get(1) instanceof FirstInterceptor); assertFalse(interceptors.get(0) instanceof SecondInterceptor && interceptors.get(1) instanceof SecondInterceptor); }
From source file:org.mybatis.guice.MyBatisModuleTest.java
License:Apache License
@Test public void addInterceptorsClasses_Package() { Injector injector = Guice.createInjector(new MyBatisModule() { @Override/*from w w w.j a v a2s . c om*/ protected void initialize() { addInterceptorsClasses(FirstInterceptor.class.getPackage().getName()); environmentId("test_environment"); bindDataSourceProvider(dataSourceProvider); bindTransactionFactory(transactionFactoryProvider); } }); Configuration configuration = injector.getInstance(Configuration.class); assertEquals(2, configuration.getInterceptors().size()); List<Interceptor> interceptors = configuration.getInterceptors(); assertTrue( interceptors.get(0) instanceof FirstInterceptor || interceptors.get(1) instanceof FirstInterceptor); assertFalse(interceptors.get(0) instanceof SecondInterceptor && interceptors.get(1) instanceof SecondInterceptor); }
From source file:org.mybatis.guice.XMLMyBatisModule.java
License:Apache License
/** * {@inheritDoc}// w w w. j a va 2s . 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 } } } }