List of usage examples for org.apache.ibatis.binding MapperRegistry addMapper
public <T> void addMapper(Class<T> type)
From source file:org.nanoframework.orm.mybatis.MultiDataSourceModule.java
License:Apache License
@Override protected void configure() { Reader reader = null;/* w ww . ja v a 2 s. c o 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) { } } } }