1. rcp/rap 与 spring 集成

Activator 是rcp/rap 启动时需要加载的类, 只需要加载一遍,所以与spring 集成的时候一般是在这个类里面加载spring 的ApplicationContext

具体如下:

在 Activator 里添加如下代码:

private ApplicationContext context ;

this. context = new ClassPathXmlApplicationContext( "config/aplicationContext.xml" );

在 common.xml 中,加载如下信息:

1.1           加载数据源

举例:

  1. <bean id="dataSource"
  2. class="org.springframework.jdbc.datasource.DriverManagerDataSource">
  3. <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"></property><property name="url" value="jdbc:oracle:thin:@xx.xx.xx.xx:xxxxxx"></property>
  4. <property name="username" value="xxxx"></property>
  5. <property name="password" value="xxxx"></property>
  6. </bean>

1.2 加载 ibatis 的 sqlMapConfig

举例:

  1. <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
  2. <property name="dataSource" ref="dataSource"></property>
  3. <property name="configLocation" value="sqlMapConfig.xml"></property>
  4. </bean>

1.3 加载与数据库相关的:连接数据库、关闭数据库、释放 ResultSet ,对数据库的增删改查等操作的类或配置文件

举例:

  1. <bean id="eeeDao" class="com.jlins.dao.xxxDao">
  2. <property name="sqlMapClient" ref="sqlMapClient"></property>
  3. </bean>
  4. 引入一些具体的配置文件
  5. <import resource="xxx/xxx.xml" />

2. rcp/rap 与 ibatis 集成

这个对象是iBatis 操作数据库的接口(执行CRUD 等操作),它也可以执行事务管理等操作。这个类是我们使用iBATIS 的最主要的类。它是线程安全的。通常,将它定义为单例。(与hibernate 中sessionFactory 的定义类似)

SqlMapClient 提供了如下的一些功能:

显式的调用事务。

执行对数据库的常规操作。

批量处理非查询的SQL 语句。

  1. <sqlMapConfig>
  2. <sqlMap resource="xxx.xml"/>
  3. </sqlMapConfig>
  4. 其中xxxxxxx.xml定义了一些数据库增删改查
  5. 如:
  6. <?xml version="1.0" encoding="UTF-8"?>
  7. <!DOCTYPE sqlMap
  8. PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN"
  9. "http://www.ibatis.com/dtd/sql-map-2.dtd">
  10. <sqlMap namespace="people">
  11. <typeAlias alias="person" type="Person" />
  12. <update id="updateNameById" parameterClass="person">
  13. update
  14. person
  15. set name =#name#
  16. where id =#id#
  17. </update>
  18. </sqlMap>

特殊的:如果传入的参数是一个变量,比如如下这种情况,要在数据库里查询一个序列,但是序列名不是一个常量,而是一个变量,这时候不能前后加# ,而用$ 符。

  1. <select id="getSequenceValue"  resultMap="allResultMap">
  2. <![CDATA[
  3. select $seqName$.NEXTVAL||'' sequenceid  from dual
  4. ]]>
  5. </select>

Eclipse rap 富客户端开发总结(11) : rcp/rap与spring ibatis集成的更多相关文章

  1. Eclipse rap 富客户端开发总结(15) :rap如何使用js

    1. 把输入的字符串当 javascript 执行 try { RWT.getResponse().getWriter().println("alert('123');"); }  ...

  2. Eclipse rap 富客户端开发总结(1) :rap简单介绍和开发环境搭建

    一.rap简单介绍 1 基本概念     RAP可以让开发人员使用JAVA API和按照Eclipse 插件的开发模式构建基于AJAX的Web 2.0应用程序, RAP的工作原理是采用交叉编译的方式将 ...

  3. Eclipse rap 富客户端开发总结(2):rap项目目前的进度和存在的问题

    1. Eclipse rap项目目前的进度 目前rap 的最新版本是 rap 1.5M4,最稳定版本是 rap 1.4.1,我们项目目前使用的版本是rap 1.4.1,Rap目前已经支持的部分是 sw ...

  4. Eclipse rap 富客户端开发总结(12) :Rap 优化之组件的销毁

    一.概述      经过几个月的rap 项目实战,总结了一些小经验,在这里总结一下,希望对大家有所帮助. 二.销毁的处理       相信学习rap 的同学都知道,swt 中提供了许多的组件,像lab ...

  5. Eclipse rap 富客户端开发总结(13) :Rap/Rcp保存按钮处理方式

    一.概述 在做项目的过程中,处理编辑区的保存机制的时候.发现,同样是扩展eclipse 自带的保存和全部保存按钮时候,rcp 工程下,保存按钮可以正常的灰显和可用,但是rap 的按钮就是始终呈现灰显的 ...

  6. Eclipse rap 富客户端开发总结(14) :rap 图片、数据缓存处理

    一.概述 在进行了 rap 的基本学习之后,您对 rap 的理解是否进入了更高的一个层次呢,个人觉得,对学习 rap 的人来说,进行 rap 的学习是一个探索的过程,在编程中不断的对其进行理解和分析, ...

  7. Eclipse rap 富客户端开发总结(5): RAP国际化之路

    Eclipse RCP 中的plugin.xml国际化实现 1.  在工程的根目录下面建立一个plugin.properties资源文件:在此资源文件中写入需要国际化的内容(键/值对),举例如下: h ...

  8. Eclipse rap 富客户端开发总结(10) : Rap不同系统间的差异和处理方式

    平常进行 rap 程序开发一般都是在 win 下面完成 , 然后在 tomcat 下面测试 , 但是程序最终发布一般都是在 linux  aix 上面 , 这个时候就有能会出现一下问题,下面 2 个问 ...

  9. Eclipse rap 富客户端开发总结(9) : rap上传与下载

    一 上传 上传即将文件上传到服务器上,在客户端需要写相应的脚本,服务器端需要注册相应的 handle 接受客户端的请求. 原理: Rap 的上传和下载是通过普通的 web 的方式进行上传和下载的 ,  ...

随机推荐

  1. 第3天:CSS浮动、定位、表格、表单总结

    今天学的是浮动.定位.表格.表单等内容,这些是CSS中最容易混淆的知识,有许多小技巧在写代码过程中需要注意.下面是主要知识点: 一.float浮动1.块元素在一行显示2.内联元素支持宽高3.默认内容撑 ...

  2. 进程管理之wait和waitpid

    僵尸进程 在介绍wait.waitpid和waitid函数之前,首先要介绍一下僵尸进程,因为,这三个函数的本质任务就是处理僵尸进程的问题. 进程会我们的生命体一样,也有消亡.进程在退出时,内核会清理进 ...

  3. Python 文档 涉及词汇

    Python  is an interpreted, interactive, object-oriented programming language that combines remarkabl ...

  4. spring boot / cloud (五) 自签SSL证书以及HTTPS

    spring boot / cloud (五) 自签SSL证书以及HTTPS 前言 什么是HTTPS? HTTPS(全称:Hyper Text Transfer Protocol over Secur ...

  5. 如何为ubuntu server 版本 安装图形界面

    强烈建议使用命令行的交互方式,就算你在server上装了图形界面,但是在Linux上,大部分重要的操作还是要通过命令行的方式进行操作. 如何为ubuntu server 版本 安装图形界面 Ubunt ...

  6. python+selenium自动化软件测试(第16章):基础实战(3)

    #coding:utf-8 from time import sleep from selenium import webdriver class cloudedge_register(object) ...

  7. C语言排序

    排序算法 快速排序 C语言快速排序qsort(数组,长度,元素大小,cmp函数(*,*))//注意函数cmp的参数为指针 #include <stdio.h> #include <s ...

  8. 堆排序—Java

    堆排序: 一棵完全二叉树,如果父节点的值大于等于左右节点的值,则称此完全二叉树为小根堆(小顶堆):如果父节点的值小于等于左右节点的值,则次完全二叉树为大根堆(大顶堆). 堆排序是建立在大顶堆或小顶堆的 ...

  9. 【Linux部署 · GIT】在linux系统安装git和配置实现SSH

    领导给了一个不开放ftp的测试库,让我部署项目.拿到一个全新的环境,真是个练手的好机会. 该操作系统为:CentOs release 6.5(Final) 由于不开放ftp,所以上传下载代码是非常麻烦 ...

  10. ASP.NET Core 运行原理解剖[4]:进入HttpContext的世界

    HttpContext是ASP.NET中的核心对象,每一个请求都会创建一个对应的HttpContext对象,我们的应用程序便是通过HttpContext对象来获取请求信息,最终生成响应,写回到Http ...