• OSGI企业应用开发(八)整合Spring和Mybatis框架(一)


    到目前为止,我们已经学习了如何使用Blueprint將Spring框架整合到OSGI应用中,并学习了Blueprint&Gemini Blueprint的一些使用细节。本篇文章开始,我们將Mybatis框架整合到OSGI应用中。

    一、获取Mybatis框架Bundle

    Mybatis框架的Bundle获取比较简单,因为Mybatis框架在发布Release版本时就考虑到用户可能会在OSGI应用中使用Mybatis,所以从官方地址下载得到的Jar包本身就是一个Bundle,MANIFEST.MF文件中包含完整的Bundle描述信息。
    读者可以从Mybatis官方下载地址获取Mybatis框架的Bundle,官方地址如下:
    https://github.com/mybatis/mybatis-3/releases
    如下图所示:
    这里写图片描述

    读者只需要选择合适的版本下载即可,笔者选择的Mybatis版本为3.1.1,下载后解压目录结构如下:
    这里写图片描述
    如上图所示,我们只需要mybatis-3.1.1.jar文件,除此之外,我们如果想把Mybatis和Spring整合,还需要获取Mybaits框架的Spring插件,下载地址如下:
    https://github.com/mybatis/spring/releases

    笔者选择的Mybatis-Spring插件版本为1.2.0,下载后解压目录结构如下图所示,其中mybatis-spring-1.2.0.jar为我们需要的Bundle。
    这里写图片描述

    二、添加Mybatis相关Bundle到OSGI运行环境

    上一步我们获取到Mybatis框架核心Bundle,以及用于和Spring框架整合的Mybatis-Spring插件Bundle,接下来我们需要將这些Bundle添加到OSGI运行环境中。
    首先需要在DynamicRuntime工程中新建一个mybatis目录,然后將mybatis-3.1.1.jar和mybatis-spring-1.2.0.jar两个包复制到该目录中,如下图所示:
    这里写图片描述
    接着单击Window=>Preferences菜单,然后单击Plug-in Development=>Target Platform选项,如下图所示:
    这里写图片描述
    选择我们之前自定义的DynamicRuntime,单击Edit按钮,如下图所示:
    这里写图片描述
    单击Add按钮,添加${workspace_loc}DynamicRuntimemybatis目录即可。

    三、新建数据库

    由于Mybatis是数据持久化框架,和数据库交互是必不可少的,由于MySql数据库安装和使用都比较简单,笔者打算使用MySql进行项目演示,读者请自行安装MySql。
    我们需要建一个数据库实例和一张表,SQL语句如下:

    create database osgi;
    
    CREATE TABLE `osgi`.`user` (
      `uid` INT NOT NULL AUTO_INCREMENT,
      `username` VARCHAR(30) NOT NULL,
      `password` VARCHAR(45) NOT NULL,
      PRIMARY KEY (`uid`))
    ENGINE = InnoDB
    DEFAULT CHARACTER SET = utf8
    COLLATE = utf8_bin;
    
    use osgi;
    
    insert into user(username,password) values('Smith',"Smith");
    insert into user(username,password) values('Jane',"Jane");

    上面SQL中,我们新建了名称为osgi的数据库,并在该数据库中新建了一张user表,用来保存用户信息,接着插入了两条演示数据。

    四、获取MySql驱动Bundle

    Java操作MySql数据库,数据库驱动是必不可少的,但是从MySql官方网站下载的驱动只是一个普通的Jar包,而不是一个完整的Bundle,我们可以从SpringSource Enterprise Bundle Repository网站获取Bundle版本的MySql驱动,下载地址:
    http://ebr.springsource.com/repository/app/bundle
    搜索关键字MySql即可,搜索结果如下图所示:
    这里写图片描述
    下载完毕后,在DynamicRuntime工程中,新建一个mysql目录,將驱动Bundle复制到该目录中,如下图所示:
    这里写图片描述
    接着和添加Mybatis Bundle相同的方式,將MySql驱动Bundle添加到OSGI运行平台中。

    五、获取dbcp数据源Bundle

    整合Spring和Mybatis框架还需要数据源,可供选择的有dbcp或者c3p0数据源,笔者使用dbcp数据源整合Mybatis框架。
    首先需要获取dbcp数据源Bundle,我们可以从SpringSource Enterprise Bundle Repository网站获取,我们需要如下两个Bundle:

    com.springsource.org.apache.commons.dbcp-1.2.2.osgi.jar
    com.springsource.org.apache.commons.pool-1.3.0.jar

    接着在DynamicRuntime项目中,新建一个common目录,將这两个Bundle复制到该目录,如下:
    这里写图片描述
    然后按照前面的步骤,將common目录下的Bundle添加到Equinox运行环境中即可。
    到目前为止,我们的准备工作已经完成了,下篇文件继续介绍OSGI应用中Spring与Mybatis框架的整合。

    转载请注明原文地址:http://blog.csdn.net/Rongbo_J/article/details/53889514

  • 相关阅读:
    swoole多进程操作
    LinUX系统ThinkPHP5链接MsSQL数据库的pdo_dblib扩展
    php 访问用友u8数据
    C++/CLI剪辑
    托管代码中调用c++本地代码
    非托管代码中调用托管代码
    Resharper快捷键使用
    Unity3d简便的声音管理方案
    QT离线安装包
    Winform中使用Reactivex代替BeginInvoke/Invoke来更新UI数据
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6468165.html
Copyright © 2020-2023  润新知