InSync05:新增联系人

一、运行DEMO:
1、运行程序:http://localhost:8400/spring-flex-testdrive/insync05/index.html;

2、单击Search按钮,从数据库获取所有的联系人。
3、单击“New Contact”按钮。
4、在Contact窗体中编辑新建的联系人,单击“保存”创建一个联系人。

二、理解代码:

1、insync05.mxml:

本DEMO用于使用应用程序的用户添加联系人。当新建一个联系人时,远程调用ContactDAO的create()方法,当更新一个存在的联系人时,则调用ContactDAO的update()方法。

2、ContactForm.mxml
在保存的时候,我们可以看到id字段自动更新为数据库端自动生成的ID值。
private function create_resultHandler(event:ResultEvent):void
{
    contact.id = event.result.id;
}

保存按钮同时处理新增和更新联系人,判别这两个操作的逻辑是:
if (contact.id == 0)
{
    ro.create(contact);   
}
else
{
    ro.update(contact);
}

3、ContactDAO.java

在ContactDAO中使用SimpleJdbcInsert来执行插入操作,ContactDAO的create方法返回的新增的contact对象:
    public Contact create(Contact contact) {
        Map<String, Object> parameters = new HashMap<String, Object>();
        parameters.put("first_name", contact.getFirstName());
        parameters.put("last_name", contact.getLastName());
        parameters.put("address", contact.getAddress());
        parameters.put("city", contact.getCity());
        parameters.put("state", contact.getState());
        parameters.put("zip", contact.getZip());
        parameters.put("phone", contact.getPhone());
        parameters.put("email", contact.getEmail());
        Number id = this.insertContact.executeAndReturnKey(parameters);
        contact.setId(id.intValue());
        return contact; 
}

SimpleJdbcInsert插入的用法是:

public Number executeAndReturnKey(Map<String,Object> args)

该方法会返回新增操作时,数据库自动生成的ID号。

三、小结:

该DEMO主要展示新增的操作,对数据库中自动生成键的处理。

ro.create(contact)->dao.create(Contact contact) –>insertContact.executeAndReturnKey(parameters)->contact.setId(id.intValue)->create_resultHandler(event:ResultEvent)->contact.id = event.result.id;

来自:http://blog.sina.com.cn/s/blog_67532f7c0100orlh.html

案例学习BlazeDS+Spring之七InSync05新增联系人相关推荐

  1. 案例学习BlazeDS+Spring之三InSync01查找联系人

    InSync01:查找联系人 一.运行DEMO: 1.运行程序:http://localhost:8400/spring-flex-testdrive/insync01/index.html: 2.单 ...

  2. 案例学习BlazeDS+Spring之一(

    BlazeDS4的一个亮点就是与Spring的集成,这大大简化了与FLASH与JEE的集成开发.通过理解BlazeDS4附带的那些精湛的小DEMO,可以很快速的掌握这门技术.虽然案例学习这种方式不太利 ...

  3. 案例学习BlazeDS+Spring之二Spring BlazeDS Integration 101

    Spring BlazeDS Integration 101 这展示BlazeDS+Spring最基本的DEMO. 一.运行DEMO: 1.运行应用程序,URL:http://localhost:84 ...

  4. 案例学习BlazeDS+Spring之六InSync04打开多个联系人

    InSync04:打开多个联系人 一.运行DEMO: 1.运行程序:http://localhost:8400/spring-flex-testdrive/insync04/index.html: 2 ...

  5. 案例学习BlazeDS+Spring之五InSync03强类型

    InSync03:强类型 一.运行DEMO: 1.运行程序:http://localhost:8400/spring-flex-testdrive/insync03/index.html: 2.单击S ...

  6. 案例学习BlazeDS+Spring之十一:Simple Data Push

    Simple Data Push 这个简单的数据推送服务demo演示了如何使用消息服务,将数据从服务端推送到客户端.在服务端,一个JAVA组件发布一个模拟真实的值给订阅了此消息目标的FLEX客户端.这 ...

  7. 案例学习BlazeDS+Spring之八InSync06“松耦合”UI同步事件通知

    InSync06:增加"松耦合"UI同步事件通知 一.运行DEMO: 1.运行程序:http://localhost:8400/spring-flex-testdrive/insy ...

  8. 案例学习BlazeDS+Spring之九Company Manager

    Company Manager 该DEMO与InSync是类似的,提供公司信息的CRUD操作.但CompanyManager使用注释来进行定义.也展示了对象关联(CompanyDAO类与Industr ...

  9. 案例学习BlazeDS+Spring之十:Chat(

    Chat: 该DEMO展示的是BlazeDS的消息服务,是一个使用发布/订阅者模式的简单聊天室. 一.运行DEMO: 1.运行程序:http://localhost:8400/spring-flex- ...

最新文章

  1. Django模型层Meta内部类详解
  2. R语言β分布函数(dbeta、pbeta、qbeta、rbeta)实战
  3. 回顾丨2017年人工智能带火了哪些词
  4. FT报源检测到目标无法恢复解决过程
  5. 001-supervisor
  6. mybatis框架使用generator的快速搭建
  7. 图解Win7下安装Borland C++ 3.1失败记
  8. 远程抓取Linux服务器上的数据包
  9. 【漏洞实战】某网站JS文件泄露导致拿到服务器权限
  10. 【Unity3D自学记录】Unity3D网络之Socket聊天室初探
  11. JAVA操作数据库调试经验
  12. nib、xib与故事板的关系
  13. 聊聊手游的那些惊喜与惊吓
  14. SpringBoot2.0之整合Apollo
  15. localdatetime获得时间搓_Java8 LocalDateTime获取时间戳(毫秒/秒)、LocalDateTime与String互转、Date与LocalDateTime互转...
  16. 3-1 Aruba交换机实用配置-VSF 2020
  17. 日志:实现微信公众号自动问答机器人(待整理)
  18. 14.hibernate的入门
  19. 通用流量办什么卡划算?告诉你三大运营商该如何选择?
  20. 如何安装和搭建wordpress个人网站(超详细+零基础)

热门文章

  1. T-SQL命令性能比较– NOT IN与SQL NOT EXISTS与SQL LEFT JOIN与SQL EXCEPT
  2. centos升级内核之后修改内核启动顺序
  3. Qt osg QWidget osgViewer::Viewer
  4. bzoj 1664 (贪心)
  5. asp.net上传图片,上传图片
  6. cf(聚簇因子)调优,计划调优,SQL改造
  7. mysql数据库连接限制,mysql-获取数据库连接表有限制
  8. iOS一个简单的设置圆角不引起性能问题的分类
  9. 相邀直播app最新入驻58位海外阿姨
  10. [Vue warn]: Cannot find element: #main