案例学习BlazeDS+Spring之三InSync01查找联系人
InSync01:查找联系人
一、运行DEMO:
1、运行程序:http://localhost:8400/spring-flex-testdrive/insync01/index.html;
2、单击Search按钮,从数据库获取所有的联系人。
3、在Search文本框输入几个字符,单击“Search”按钮,按名字来查找联系人。
二、理解代码:
1、insync01.mxml文件:
定义远程对象,
<s:RemoteObject id="ro" destination="contactService" endpoint="http://localhost:8400/spring-flex-testdrive/messagebroker/amf"/>
Search的单击事件处理代码是:ro.findByName(searchStr.text)
2、配置文件
flex-servlet.xml :
<flex:remoting-destination ref="contactService" />
app-config.xml :
<bean id="contactService" class="org.springframework.flex.samples.contact.ContactDAO">
<constructor-arg ref="dataSource" />
</bean>
3、org/springframework/flex/samples/contact/ContactDAO.java
构造函数实例化template(用于查找、更新、删除操作)和insertContact(用于插入操作)。
public ContactDAO(DataSource dataSource) {
this.template = new SimpleJdbcTemplate(dataSource);
this.insertContact = new SimpleJdbcInsert(dataSource).withTableName("CONTACT").usingGeneratedKeyColumns("ID");
}
按名称查找联系人的方法。
public List<Contact> findByName(String name) {
return this.template.query("SELECT * FROM contact WHERE UPPER(CONCAT(first_name, ' ', last_name)) LIKE ? ORDER BY first_name, last_name",
this.rowMapper, "%" + name.toUpperCase() + "%");
}
4、SimpleJdbcTemplate:
Spring的SimpleJdbcTemplate封装了常用的Jdbc操作,其中一个很方便的用法是在query查询数据库之后可以在ResultSet结果集中进行迭代,将结果集中的行转换为java对象。
SimpleJdbcTemplate的query方法格式如:
query(String sql, ParameterizedRowMapper<T> rm, SqlParameterSource args) 。
为了使用泛型简化操作,定义了Contact类,用于在数据库中返回值时进行数据行与JAVA对类的转换。
private final RowMapper<Contact> rowMapper = new ParameterizedRowMapper<Contact>() {
public Contact mapRow(ResultSet rs, int rowNum) throws SQLException {
Contact contact = new Contact();
contact.setId(rs.getInt("id"));
contact.setFirstName(rs.getString("first_name"));
contact.setLastName(rs.getString("last_name"));
contact.setAddress(rs.getString("address"));
contact.setCity(rs.getString("city"));
contact.setState(rs.getString("state"));
contact.setZip(rs.getString("zip"));
contact.setPhone(rs.getString("phone"));
contact.setEmail(rs.getString("email"));
return contact;
}
};
三、小结:
这个例子显示了一个查询操作,从Flex到在DAO中使用Spring提供的JDBC API来操作数据库。这个例子展示的架构中的主要过程简化为:RemoteObject->flex:remoting-destination->Spring bean->Spring JdbcTemplate->H2 DB
来自:http://blog.sina.com.cn/s/blog_67532f7c0100oo7t.html
案例学习BlazeDS+Spring之三InSync01查找联系人相关推荐
- 案例学习BlazeDS+Spring之七InSync05新增联系人
InSync05:新增联系人 一.运行DEMO: 1.运行程序:http://localhost:8400/spring-flex-testdrive/insync05/index.html: 2.单 ...
- 案例学习BlazeDS+Spring之六InSync04打开多个联系人
InSync04:打开多个联系人 一.运行DEMO: 1.运行程序:http://localhost:8400/spring-flex-testdrive/insync04/index.html: 2 ...
- 案例学习BlazeDS+Spring之一(
BlazeDS4的一个亮点就是与Spring的集成,这大大简化了与FLASH与JEE的集成开发.通过理解BlazeDS4附带的那些精湛的小DEMO,可以很快速的掌握这门技术.虽然案例学习这种方式不太利 ...
- 案例学习BlazeDS+Spring之五InSync03强类型
InSync03:强类型 一.运行DEMO: 1.运行程序:http://localhost:8400/spring-flex-testdrive/insync03/index.html: 2.单击S ...
- 案例学习BlazeDS+Spring之二Spring BlazeDS Integration 101
Spring BlazeDS Integration 101 这展示BlazeDS+Spring最基本的DEMO. 一.运行DEMO: 1.运行应用程序,URL:http://localhost:84 ...
- 案例学习BlazeDS+Spring之八InSync06“松耦合”UI同步事件通知
InSync06:增加"松耦合"UI同步事件通知 一.运行DEMO: 1.运行程序:http://localhost:8400/spring-flex-testdrive/insy ...
- 案例学习BlazeDS+Spring之九Company Manager
Company Manager 该DEMO与InSync是类似的,提供公司信息的CRUD操作.但CompanyManager使用注释来进行定义.也展示了对象关联(CompanyDAO类与Industr ...
- 案例学习BlazeDS+Spring之十一:Simple Data Push
Simple Data Push 这个简单的数据推送服务demo演示了如何使用消息服务,将数据从服务端推送到客户端.在服务端,一个JAVA组件发布一个模拟真实的值给订阅了此消息目标的FLEX客户端.这 ...
- 案例学习BlazeDS+Spring之四InSync02使用RemoteObject事件
InSync02:使用RemoteObject事件 一.运行DEMO: 1.运行程序:http://localhost:8400/spring-flex-testdrive/insync02/inde ...
最新文章
- sinatra 基本用法
- [转载] 中华典故故事(孙刚)——07 二百五
- Python读取文本的三种方式对比
- Silverlight 解谜游戏 之十四 音效
- 使用openssl生成双向加密证书(转)
- 常用电子接口大全,遇到不认识的,就翻出来对照辨认!
- 深入理解Spring Redis的使用 (五)、常见问题汇总
- Python魔法方法(magic method)细解几个常用魔法方法(下)
- ext4 关闭延迟分配
- gulp启动项目报错
- sql表达式_SQL表达式
- Atitit osi tcp ip 对应attilax总结
- 去年的今天我们举行了婚礼
- 移动通信学习笔记03_蜂窝原理
- java word搜索_java 实现word 文档的在线编辑. 以及全文关键字搜索和高亮显示
- KM算法实现带权匹配C#版本和C++两个版本实现O^3
- ASP.Net MVC开发基础学习笔记(9):查看详情、编辑数据、删除数据
- Java 后台做图片压缩的两种方法
- 解决steamcommunity报错443/80端口被占用
- Eclipes和Myeclipse插件安装方法