案例学习BlazeDS+Spring之七InSync05新增联系人

来源:互联网 发布:网络男女歌手唱的歌 编辑:程序博客网 时间:2024/06/05 00:55
 

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