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

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

Introduction

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

Prototype

public MapperRegistry getMapperRegistry() 

Source Link

Usage

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