Eclipse rap 富客户端开发总结(11) : rcp/rap与spring ibatis集成
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 加载数据源
举例:
- <bean id="dataSource"
- class="org.springframework.jdbc.datasource.DriverManagerDataSource">
- <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"></property><property name="url" value="jdbc:oracle:thin:@xx.xx.xx.xx:xxxxxx"></property>
- <property name="username" value="xxxx"></property>
- <property name="password" value="xxxx"></property>
- </bean>
1.2 加载 ibatis 的 sqlMapConfig
举例:
- <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
- <property name="dataSource" ref="dataSource"></property>
- <property name="configLocation" value="sqlMapConfig.xml"></property>
- </bean>
1.3 加载与数据库相关的:连接数据库、关闭数据库、释放 ResultSet ,对数据库的增删改查等操作的类或配置文件
举例:
- <bean id="eeeDao" class="com.jlins.dao.xxxDao">
- <property name="sqlMapClient" ref="sqlMapClient"></property>
- </bean>
- 引入一些具体的配置文件
- <import resource="xxx/xxx.xml" />
2. rcp/rap 与 ibatis 集成
这个对象是iBatis 操作数据库的接口(执行CRUD 等操作),它也可以执行事务管理等操作。这个类是我们使用iBATIS 的最主要的类。它是线程安全的。通常,将它定义为单例。(与hibernate 中sessionFactory 的定义类似)
SqlMapClient 提供了如下的一些功能:
显式的调用事务。
执行对数据库的常规操作。
批量处理非查询的SQL 语句。
- <sqlMapConfig>
- <sqlMap resource="xxx.xml"/>
- </sqlMapConfig>
- 其中xxxxxxx.xml定义了一些数据库增删改查
- 如:
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE sqlMap
- PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN"
- "http://www.ibatis.com/dtd/sql-map-2.dtd">
- <sqlMap namespace="people">
- <typeAlias alias="person" type="Person" />
- <update id="updateNameById" parameterClass="person">
- update
- person
- set name =#name#
- where id =#id#
- </update>
- </sqlMap>
特殊的:如果传入的参数是一个变量,比如如下这种情况,要在数据库里查询一个序列,但是序列名不是一个常量,而是一个变量,这时候不能前后加# ,而用$ 符。
- <select id="getSequenceValue" resultMap="allResultMap">
- <![CDATA[
- select $seqName$.NEXTVAL||'' sequenceid from dual
- ]]>
- </select>
Eclipse rap 富客户端开发总结(11) : rcp/rap与spring ibatis集成的更多相关文章
- Eclipse rap 富客户端开发总结(15) :rap如何使用js
1. 把输入的字符串当 javascript 执行 try { RWT.getResponse().getWriter().println("alert('123');"); } ...
- Eclipse rap 富客户端开发总结(1) :rap简单介绍和开发环境搭建
一.rap简单介绍 1 基本概念 RAP可以让开发人员使用JAVA API和按照Eclipse 插件的开发模式构建基于AJAX的Web 2.0应用程序, RAP的工作原理是采用交叉编译的方式将 ...
- Eclipse rap 富客户端开发总结(2):rap项目目前的进度和存在的问题
1. Eclipse rap项目目前的进度 目前rap 的最新版本是 rap 1.5M4,最稳定版本是 rap 1.4.1,我们项目目前使用的版本是rap 1.4.1,Rap目前已经支持的部分是 sw ...
- Eclipse rap 富客户端开发总结(12) :Rap 优化之组件的销毁
一.概述 经过几个月的rap 项目实战,总结了一些小经验,在这里总结一下,希望对大家有所帮助. 二.销毁的处理 相信学习rap 的同学都知道,swt 中提供了许多的组件,像lab ...
- Eclipse rap 富客户端开发总结(13) :Rap/Rcp保存按钮处理方式
一.概述 在做项目的过程中,处理编辑区的保存机制的时候.发现,同样是扩展eclipse 自带的保存和全部保存按钮时候,rcp 工程下,保存按钮可以正常的灰显和可用,但是rap 的按钮就是始终呈现灰显的 ...
- Eclipse rap 富客户端开发总结(14) :rap 图片、数据缓存处理
一.概述 在进行了 rap 的基本学习之后,您对 rap 的理解是否进入了更高的一个层次呢,个人觉得,对学习 rap 的人来说,进行 rap 的学习是一个探索的过程,在编程中不断的对其进行理解和分析, ...
- Eclipse rap 富客户端开发总结(5): RAP国际化之路
Eclipse RCP 中的plugin.xml国际化实现 1. 在工程的根目录下面建立一个plugin.properties资源文件:在此资源文件中写入需要国际化的内容(键/值对),举例如下: h ...
- Eclipse rap 富客户端开发总结(10) : Rap不同系统间的差异和处理方式
平常进行 rap 程序开发一般都是在 win 下面完成 , 然后在 tomcat 下面测试 , 但是程序最终发布一般都是在 linux aix 上面 , 这个时候就有能会出现一下问题,下面 2 个问 ...
- Eclipse rap 富客户端开发总结(9) : rap上传与下载
一 上传 上传即将文件上传到服务器上,在客户端需要写相应的脚本,服务器端需要注册相应的 handle 接受客户端的请求. 原理: Rap 的上传和下载是通过普通的 web 的方式进行上传和下载的 , ...
随机推荐
- iOS蓝牙BLE开发
蓝牙是一个标准的无线通讯协议,具有设备成本低.传输距离近和功耗低等特点,被广泛的应用在多种场合.蓝牙一般分为传统蓝牙和BLE两种模式:传统蓝牙可以传输音频等较大数据量,距离近.功耗相对大:而BLE则用 ...
- Ext.NET加入自定义验证JS函数
ExtJS验证很方便,在使用FormPanel的时候,我们可以很方便的进行验证.比如设置必填项.正则.字段类型等等.比如如下所示: 上面的验证是这么写的: 1 2 3 <Listeners> ...
- 学习笔记TF049:TensorFlow 模型存储加载、队列线程、加载数据、自定义操作
生成检查点文件(chekpoint file),扩展名.ckpt,tf.train.Saver对象调用Saver.save()生成.包含权重和其他程序定义变量,不包含图结构.另一程序使用,需要重新创建 ...
- Linux环境下安装禅道
1.下载禅道包 http://dl.cnezsoft.com/zentao/7.3/ZenTaoPMS.7.3.stable.zbox_64.tar.gz http://dl.cnezsoft.c ...
- ASP.NET MVC最新特性
问题: 既然我说对ASP.NET MVC很熟很懂,对新技术很感兴趣,那么问题是: 当前最新版MVC是什么?你用的哪个版本?相比前一个版本有什么新的特性? 解析: 在面试的时候,为了争取面试官的好感,显 ...
- .net Path 类
检索文件扩展名. GetExtension 检索文件的完全限定路径. GetFullPath 检索路径中的文件名和扩展名. GetFileName 只检索路径中的文件名. GetFileNameW ...
- php ddos 安全处理代码
<?php//查询禁止IP$ip =$_SERVER['REMOTE_ADDR'];$fileht=".htaccess2";if(!file_exists($fileht) ...
- Python之测试webservice接口
前段时间学习了Python操作http接口,觉得挺容易的.最近项目组也有接触webservice接口,心里想想是否Python也可以操作这类接口.于是利用伟大的度娘,花了6个小时研究出来了,所以迫不及 ...
- javaScript 设计模式系列之三:代理模式
介绍 代理模式为其他对象提供一种代理以控制对这个对象的访问. 根据代理模式的使用目的不同,代理模式又可以分为多种类型: 远程代理(Remote Proxy) 虚拟代理(Virtual Proxy)如需 ...
- C++内存布局详解
一个由C/C++编译的程序除了存放函数二进制代码的程序代码段(code段)外,数据占用的内存大致分为以下几个部分: 1.栈区(stack) 存放局部变量.函数参数.返回数据.返回地址等.系统自动分配释 ...