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 的方式进行上传和下载的 , ...
随机推荐
- JMeter脚本录制
1.1. 使用第三方录制方式或代理录制方式(建议) 第三方采用:http://www.badboy.com.au/ 通过badboy来录制,录制后另存为jmx格式即可. 操作步骤: a.打开badb ...
- 如何在.xml中配置Servlet信息
在编写好servlet文件后需要在web.xml文件下配置servlet,才能使servlet在服务器上运行.基本配置方式如下所示 <context-param> <param-na ...
- vue.js + ajax 数据加载(纯新手get)
似懂非懂的感觉下撸了一个小demo .(只是单纯的引用vue.js的小demo.)在实践中进步吧! 首先肯定要先看vue的文档,并且知道超超基础的小知识!!!奉上代码: HTML 部分: js的引用: ...
- Ta-lib函数功能列表
import tkinter as tk from tkinter import ttk import matplotlib.pyplot as plt import numpy as np impo ...
- node中package.json全方面解析
Name 必须字段. 小提示: 不要在name中包含js, node字样: 这个名字最终会是URL的一部分,命令行的参数,目录名,所以不能以点号或下划线开头: 这个名字可能在require()方法中被 ...
- “最美天气”Python抓取天气
import urllib.request import urllib.parse import json """ 利用"最美天气"抓取即时天 ...
- ASP.NET Core 运行原理解剖[3]:Middleware-请求管道的构成
在 ASP.NET 中,我们知道,它有一个面向切面的请求管道,有19个主要的事件构成,能够让我们进行灵活的扩展.通常是在 web.config 中通过注册 HttpModule 来实现对请求管道事件监 ...
- Android事件传递机制详解及最新源码分析——ViewGroup篇
版权声明:本文出自汪磊的博客,转载请务必注明出处. 在上一篇<Android事件传递机制详解及最新源码分析--View篇>中,详细讲解了View事件的传递机制,没掌握或者掌握不扎实的小伙伴 ...
- 【转载】makefile经典教程
该篇文章为转载,是对原作者系列文章的总汇加上标注. 支持原创,请移步陈浩大神博客: http://blog.csdn.net/haoel/article/details/2886 makefile很重 ...
- HTML中document.getElementById()方法的操作
转自:http://blog.csdn.net/pyffcwj/article/details/7240232/ obj = document.getElementById("cc" ...