`
cnpoint
  • 浏览: 1502 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

OSGI-mybatis整合文档

阅读更多
osgi-mybatis整合,整合过程中,未采用spring-osgi机制,ds方式。

关键技术说明

OSGI   Mybatis    eclipse(spring-tool)    felix
Bundle 功能描述

bundle名称 功能
com.gooagoo.si.mybatis.lib 常用jar集合
com.gooagoo.si.mybatis.orm orm 对象
com.gooagoo.si.mybatis.datasource 数据源,以及OSGI-Mybatis整合,命名不够规范 ^_^
com.gooagoo.si.mybatis.article.category 应用示例

公共Bundle重点说明
com.gooagoo.si.mybatis.datasource说明,获得Mybatis中的SqlSessionFactory,并注入dataSource

public SqlSessionFactory getSqlSessionFactory(Bundle bundle)
    {
        // TODO Auto-generated method stub
        ClassLoader loader = bundle.adapt(BundleWiring.class).getClassLoader();
        String mybatisConfig = bundle.getHeaders().get(MybatisConstants.MybatisConfig);
        System.out.println("【mybatisConfig】" + mybatisConfig);
        Reader reader = null;
        try
        {

            Resources.setDefaultClassLoader(loader);
            reader = Resources.getResourceAsReader(mybatisConfig);
            XMLConfigBuilder parser = new XMLConfigBuilder(reader);
            configuration = parser.parse();
            TransactionFactory transactionFactory = new JdbcTransactionFactory();
            Environment environment = new Environment("development", transactionFactory, dataSource);
            configuration.setEnvironment(environment);
            sessionFactory = new DefaultSqlSessionFactory(configuration);
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
        return sessionFactory;
    }

基于以上的OSGI-Mybatis,应用示例
在每一个service实现对象中,加载一下Mybatis mapper类

  private MapperRegistry mapperRegistry = null;

    public void bind(CommonService commonService)
    {
        sessionFactory = commonService.getSqlSessionFactory();
        mapperRegistry = sessionFactory.getConfiguration().getMapperRegistry();
        mapperRegistry.addMapper(CategoryMapper.class);
        logger.info("v1 " + sessionFactory.getConfiguration().getMapperRegistry().hasMapper((CategoryMapper.class)));
        logger.info(getAllCategoryInfo() + "");
    }

使用Mapper.class对象

public List<CategoryInfo> getAllCategoryInfo()
    {
        // TODO Auto-generated method stub
        List<CategoryInfo> retlist = new ArrayList<CategoryInfo>();
        SqlSession sqlSession = null;
        try
        {
            sqlSession = sessionFactory.openSession();
            retlist = sqlSession.getMapper(CategoryMapper.class).findAll();
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        finally
        {
            if (sqlSession != null)
            {
                sqlSession.close();
            }
        }
        return retlist;
    }

OSGI hessian整合
osgi hessian 为第三方系统

分享到:
评论

相关推荐

    osgi-resource-locator-1.0.1-API文档-中文版.zip

    赠送原API文档:osgi-resource-locator-1.0.1-javadoc.jar; 赠送源代码:osgi-resource-locator-1.0.1-sources.jar; 赠送Maven依赖信息文件:osgi-resource-locator-1.0.1.pom; 包含翻译后的API文档:osgi-...

    osgi-resource-locator-1.0.1-API文档-中英对照版.zip

    赠送原API文档:osgi-resource-locator-1.0.1-javadoc.jar; 赠送源代码:osgi-resource-locator-1.0.1-sources.jar; 赠送Maven依赖信息文件:osgi-resource-locator-1.0.1.pom; 包含翻译后的API文档:osgi-...

    spring-osgi-1.2.1-with-dependencies.zip

    spring-osgi-1.2.1-with-dependencies.zip spring-osgi-1.2.1-with-dependencies.zip spring-osgi-1.2.1-with-dependencies.zip

    killbill-osgi-bundles-lib-slf4j-osgi-0.8.4.zip

    【标题】"killbill-osgi-bundles-lib-slf4j-osgi-0.8.4.zip" 是一个基于OSGi的 Kill Bill 库,其中包含了SLF4J(Simple Logging Facade for Java)的OSGi兼容版本。SLF4J是一个为各种日志框架提供简单抽象的接口,...

    spring-osgi-1.2.0-rc1-with-dependencies.zip

    "spring-osgi-1.2.0-rc1"是Spring OSGi的一个早期版本,"RC1"代表Release Candidate 1,意味着这是正式发布前的最后一个测试版本。在这个版本中,开发者可以期待一些新特性和改进,但同时也可能存在一些未发现的...

    OSGi-lib.rar

    标题"OSGi-lib.rar"暗示这是一个与OSGi相关的库文件集合,可能是为了开发OSGi应用或者研究OSGi技术而准备的资源包。描述中的重复信息"OSGi-lib.rar"可能是由于复制错误,但我们可以推测这个压缩包包含了关于OSGi的...

    osgi重要文档--osgi核心规范文档,osgi服务文档,osgi-最佳原理与实践(王昊编著,共79页)

    这个压缩包包含了关于OSGI的重要文档,分别是“OSGi R4核心规范文档”、“OSGi服务文档”以及“OSGi-最佳原理与实践”(王昊编著)。下面将详细介绍这些文档所涵盖的关键知识点。 首先,"OSGi R4核心规范文档"是...

    spring-osgi-1.2.0-with-dependencies.zip

    spring-osgi-1.2.0-with-dependencies.zip spring-osgi-1.2.0-with-dependencies.zip spring-osgi-1.2.0-with-dependencies.zip

    carrot-osgi-anno-scr-make-2.0.1.zip

    《Carrot-OSGi-Annotation-SCR-Make:探索开源项目的OSGI服务组件构建》 在软件开发领域,OSGi(Open Services Gateway Initiative)是一种模块化系统和Java应用程序框架,它使得开发者能够创建可独立更新和重用的...

    atlassian-plugins-osgi-2.6.0.jar.zip

    总的来说,Atlassian-plugins-osgi-2.6.0.jar是一个关键的组件,它推动了Atlassian插件系统的发展,提供了更高效、灵活的开发和部署方式。开发者可以利用OSGi的强大功能,创建出适应性强、易于维护的插件,进一步...

    osgi-core技术文档与说明

    OSGi核心技术文档详细介绍了OSGi的三个模块层次:服务层、模块层和生命周期层。 服务层是OSGi最上层的抽象,负责定义和实现所有服务的生命周期。在OSGi中,服务是指一组具有明确目的的代码和数据的集合,例如日志...

    spring-dm-osgi整合jar包

    2. Spring DM库:如`spring-osgi-core`, `spring-osgi-io`, `spring-osgi-extender`等,提供了与OSGi环境交互的接口和工具。 3. OSGi框架库:如`org.eclipse.osgi`,这是实现OSGi规范的实现,例如Equinox或Felix。 4...

    osgi-tutorial.zip

    **正文** ...最后,`osgi-tutorial`这个压缩包可能包含了逐步指导如何进行上述操作的文档、代码示例和练习。通过学习和实践这些内容,你可以深入理解OSGi和Spring的集成,提升你的企业级应用开发技能。

    spring-osgi-1.2.0.zip

    标题"spring-osgi-1.2.0.zip"表明这是一个包含Spring OSGi 1.2.0版本的压缩包。这个版本可能包含了Spring框架与OSGi集成的相关库、文档、示例代码等资源,便于开发者在OSGi环境中使用Spring。 描述中提到"spring1.2...

    osgi-webservice教程

    OSGi(Open Services Gateway Initiative)是一种Java模块化系统...通过这个OSGi-WebService-axis教程,你将深入理解如何在OSGi框架下开发和部署Web服务,同时享受到模块化带来的好处,提高软件的可维护性和可扩展性。

    spring-osgi-1.2.1-with-dependencies

    本文将围绕“spring-osgi-1.2.1-with-dependencies”这一完整包展开,详细解析其包含的知识点和应用场景。 OSGi是Java平台上的一种模块化系统,它允许开发者将大型应用程序分解为独立的、可交互的组件,这些组件...

    spring-osgi-1.2.1.rar

    Spring OSGi是Spring框架与OSGi(Open Service Gateway Initiative)规范相结合的产物,它允许在OSGi容器中使用和管理Spring应用。OSGi是一种Java模块化系统,它提供了动态部署、版本控制和依赖管理等功能,极大地...

    org.eclipse.osgi-3.7.2

    《深入解析Eclipse OSGi框架:以org.eclipse.osgi-3.7.2为例》 在软件开发领域,Eclipse OSGi作为一种模块化系统,为Java应用程序提供了强大的可扩展性和灵活性。它允许开发者将复杂的应用程序分解为一组独立、可...

    osgi-SpringDM

    Spring-DM指的是 Spring ...Spring-DM 的主要目的是能够方便地将 Spring 框架和OSGi框架结合在一起,使得使用Spring的应用程序可以方便简单地部署在OSGi环境中,利用OSGi框架提供的服务,将应用变得 更加模块化。

Global site tag (gtag.js) - Google Analytics