List of usage examples for org.apache.ibatis.session Configuration getMapperRegistry
public MapperRegistry getMapperRegistry()
From source file:och.comp.db.base.BaseDb.java
License:Apache License
public BaseDb(DataSource ds, Props props, String url) { this.ds = ds; this.props = props; this.dialect = props.getStrVal(PropKey.db_dialect); String mappersPackageName = getClass().getPackage().getName(); //mybatis/*from w ww.j a va 2 s . c om*/ TransactionFactory txFactory = new JdbcTransactionFactory(); Environment environment = new Environment("prod", txFactory, ds); Configuration config = new Configuration(environment); config.addMappers(mappersPackageName, BaseMapper.class); mappers = config.getMapperRegistry().getMappers(); sessionFactory = new SqlSessionFactoryBuilder().build(config); universal = new UniversalQueries(ds, props, url); }
From source file:org.mybatis.guice.configuration.ConfigurationProviderTest.java
License:Apache License
@Test public void get() { injector = Guice.createInjector(new AbstractModule() { @Override/*w ww . j a 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>>() { });/*ww w .ja va 2s . c om*/ 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 addMapperClass() { Injector injector = Guice.createInjector(new MyBatisModule() { @Override/*from w ww .j a v a2s. c o m*/ protected void initialize() { addMapperClass(FirstMapper.class); environmentId("test_environment"); bindDataSourceProvider(dataSourceProvider); bindTransactionFactory(transactionFactoryProvider); } }); Configuration configuration = injector.getInstance(Configuration.class); SqlSession sqlSession = injector.getInstance(SqlSession.class); assertTrue(configuration.getMapperRegistry().getMappers().contains(FirstMapper.class)); assertNotNull(configuration.getMapperRegistry().getMapper(FirstMapper.class, sqlSession)); assertNotNull(injector.getInstance(FirstMapper.class)); }
From source file:org.mybatis.guice.MyBatisModuleTest.java
License:Apache License
@Test public void addMapperClasses() { Injector injector = Guice.createInjector(new MyBatisModule() { @Override//ww w .ja v a2 s . co m protected void initialize() { addMapperClasses(Arrays.asList(FirstMapper.class, SecondMapper.class)); environmentId("test_environment"); bindDataSourceProvider(dataSourceProvider); bindTransactionFactory(transactionFactoryProvider); } }); Configuration configuration = injector.getInstance(Configuration.class); SqlSession sqlSession = injector.getInstance(SqlSession.class); assertTrue(configuration.getMapperRegistry().getMappers().contains(FirstMapper.class)); assertNotNull(configuration.getMapperRegistry().getMapper(FirstMapper.class, sqlSession)); assertNotNull(injector.getInstance(FirstMapper.class)); assertTrue(configuration.getMapperRegistry().getMappers().contains(SecondMapper.class)); assertNotNull(configuration.getMapperRegistry().getMapper(SecondMapper.class, sqlSession)); assertNotNull(injector.getInstance(SecondMapper.class)); }
From source file:org.mybatis.guice.MyBatisModuleTest.java
License:Apache License
@Test public void addMapperClasses_Package() { Injector injector = Guice.createInjector(new MyBatisModule() { @Override//from w w w . j av a 2 s . c o m protected void initialize() { addMapperClasses(FirstMapper.class.getPackage().getName()); environmentId("test_environment"); bindDataSourceProvider(dataSourceProvider); bindTransactionFactory(transactionFactoryProvider); } }); Configuration configuration = injector.getInstance(Configuration.class); SqlSession sqlSession = injector.getInstance(SqlSession.class); assertTrue(configuration.getMapperRegistry().getMappers().contains(FirstMapper.class)); assertNotNull(configuration.getMapperRegistry().getMapper(FirstMapper.class, sqlSession)); assertNotNull(injector.getInstance(FirstMapper.class)); assertTrue(configuration.getMapperRegistry().getMappers().contains(SecondMapper.class)); assertNotNull(configuration.getMapperRegistry().getMapper(SecondMapper.class, sqlSession)); assertNotNull(injector.getInstance(SecondMapper.class)); }
From source file:org.mybatis.guice.MyBatisModuleTest.java
License:Apache License
@Test public void addMapperClasses_Package_ResolverUtilTest_None() { when(resolverUtilTest.matches(any(Class.class))).thenReturn(false); Injector injector = Guice.createInjector(new MyBatisModule() { @Override/*from w w w. jav a 2 s .c o m*/ protected void initialize() { addMapperClasses(FirstMapper.class.getPackage().getName(), resolverUtilTest); environmentId("test_environment"); bindDataSourceProvider(dataSourceProvider); bindTransactionFactory(transactionFactoryProvider); } }); Configuration configuration = injector.getInstance(Configuration.class); verify(resolverUtilTest, atLeastOnce()).matches(FirstMapper.class); assertFalse(configuration.getMapperRegistry().getMappers().contains(FirstMapper.class)); assertNull(injector.getExistingBinding(Key.get(FirstMapper.class))); verify(resolverUtilTest, atLeastOnce()).matches(SecondMapper.class); assertFalse(configuration.getMapperRegistry().getMappers().contains(SecondMapper.class)); assertNull(injector.getExistingBinding(Key.get(SecondMapper.class))); }
From source file:org.mybatis.guice.MyBatisModuleTest.java
License:Apache License
@Test public void addMapperClasses_Package_ResolverUtilTest_All() { when(resolverUtilTest.matches(any(Class.class))).thenReturn(true); Injector injector = Guice.createInjector(new MyBatisModule() { @Override// ww w .j a va2s .c o m protected void initialize() { addMapperClasses(FirstMapper.class.getPackage().getName(), resolverUtilTest); environmentId("test_environment"); bindDataSourceProvider(dataSourceProvider); bindTransactionFactory(transactionFactoryProvider); } }); Configuration configuration = injector.getInstance(Configuration.class); SqlSession sqlSession = injector.getInstance(SqlSession.class); verify(resolverUtilTest, atLeastOnce()).matches(FirstMapper.class); assertTrue(configuration.getMapperRegistry().getMappers().contains(FirstMapper.class)); assertNotNull(configuration.getMapperRegistry().getMapper(FirstMapper.class, sqlSession)); assertNotNull(injector.getInstance(FirstMapper.class)); verify(resolverUtilTest, atLeastOnce()).matches(SecondMapper.class); assertTrue(configuration.getMapperRegistry().getMappers().contains(SecondMapper.class)); assertNotNull(configuration.getMapperRegistry().getMapper(SecondMapper.class, sqlSession)); assertNotNull(injector.getInstance(SecondMapper.class)); }
From source file:org.mybatis.guice.XMLMyBatisModule.java
License:Apache License
/** * {@inheritDoc}/* w w w . j a va 2 s.c om*/ */ @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 } } } }
From source file:org.nanoframework.orm.mybatis.MultiDataSourceModule.java
License:Apache License
@Override protected void configure() { Reader reader = null;/* w w w . ja v a 2s. co m*/ try { InputStream input; try { Resource resource = new ClassPathResource(mybatisConfigPath); input = resource.getInputStream(); if (input == null) input = new FileInputStream(ResourceUtils.getFile(mybatisConfigPath)); } catch (IOException e) { throw new LoaderException(": " + e.getMessage()); } reader = new InputStreamReader(input); SqlSessionFactory sessionFactory; SqlSessionManager sessionManager = SqlSessionManager .newInstance(sessionFactory = new SqlSessionFactoryBuilder().build(reader, envId, jdbc)); GlobalSqlSession.set(envId, sessionManager); Configuration configuration = sessionFactory.getConfiguration(); MapperRegistry registry = configuration.getMapperRegistry(); for (String pkg : mapperPackageName) { Set<Class<?>> classes = getClasses(pkg); if (!CollectionUtils.isEmpty(classes)) { for (Class<?> cls : classes) { if (!registry.hasMapper(cls)) registry.addMapper(cls); } } } // bind mappers Collection<Class<?>> mapperClasses = registry.getMappers(); for (Class<?> mapperType : mapperClasses) { bindMapper(mapperType, sessionManager); } } finally { if (reader != null) { try { reader.close(); } catch (IOException e) { } } } }