flex 远程调用mysql_用J2EE+Flex+MySQL编写简单而强大的RIA

本文章主要讲一下如何用J2EE+Flex+MySQL编写简单而强大的RIA,对于JAVA程序员来说,这是一个很实用的技术,也是很重要的内容。希望对于这方面有兴趣的朋友有所帮助吧。

Adobe Flex 是一个客户端技术,它为开发人员提供丰富的 API 集合来创建 GUI、绘制图形、播放和流放媒体、连接到 Web 服务。在转子泵服务器端,Java 技术提供的功能包括关系型数据库管理系统(RDBM)的连接、服务请求的多线程处理以及随需求增加而进行的最佳伸缩。将这两种技术结合使用可提供一个满足 RIA 转子泵应用程序需求的强大的技术堆栈。

本文展示如何编写一个简单而强大的 RIA,能使用客户端的 Flex、服务器端 Java 技术以及后端数据库的 MySQL。

样例应用程序

样例应用程序(来自下面的 下载 部分)提供一个丰富的 UI,支持通过 Adobe Flash? (SWF) 应用程序创建、读取、更新和删除(CRUD) 联系信息。这个三层的 Web 架构如 图 1 所示,其中客户端由嵌入在一个 Web 页面中的 SWF 文件表示,服务器应用程序在一个 Java servlet 容器(本例中为 Apache Tomcat)内运行,且数据库是 MySQL。这三层共同创建一个功能分布式应用程序。

index355231.shtml

▲图1 Contacts 应用程序

对于 Flash 应用程序与 Java servlet 容器之间的通信,Adobe BlazeDS 框架提供对象远程调用 — 即一种允许 Adobe ActionScript? 对象与 Java 对象相互调用的 PRC 形式。Java 服务器应用程序与关系数据库之间的通信由 Hibernate Object Relational Mapping (ORM) 框架处理。Hibernate 允许将 Java 对象转换为 SQL代码,反之亦然。

应用程序:服务器层

第一步是要创建一个 Java 类,它包含存储联系信息所需的信息。样例应用程序包含一个带基本信息的简单模型。Contact 对象所需的属性和数据类型是:

#div_code img{border:0px;}

-StringemailAddress-StringfirstName-longid-StringlastName-StringphoneNumber-longserialVersionUID+Contact()+Contact(Stringfirst,Stringlast,Stringemail,Stringnumber)+StringgetEmailAddress()+StringgetFirstName()+longgetId()+StringgetLastName()+StringgetPhoneNumber()+void setEmailAddress(Stringaddress)+void setFirstName(Stringfirst)+void setId(longnewId)+void setLastName(Stringlast)+void setPhoneNumber(Stringnumber)+StringtoString()

注释业务对象

Java Contact 类被看作是一个充当业务对象的 POJO(简单 Java 对象),这意味着它代表业务领域特征和行为。Contact 对象内的数据需要存留到数据库中。解决方案就是使用一个 ORM 框架,比如 Hibernate,它在对象与数据库表记录之间的来回映射中执行大量工作。如果使用了 Java Persistence API (JPA) 注释,完成 ORM 仅需要少量代码。 清单 1 显示了带注释的 Java 类 Contact。

清单 1. Java Contact 类

#div_code img{border:0px;}

package bcit.contacts;

import javax.persistence.Column;

import javax.persistence.Entity;

import javax.persistence.GeneratedValue;

import javax.persistence.GenerationType;

import javax.persistence.Id;

import javax.persistence.NamedQueries;

import javax.persistence.NamedQuery;

import javax.persistence.Table;

@Entity

@Table(name="contact")

@NamedQueries( {

@NamedQuery(name="contact.findAll", query="from Contact"),

@NamedQuery(name="contact.getById", query="select c from Contact c where c.id = :id")

} )publicclass Contact {privatestatic finallongserialVersionUID=123456789L;publicContact() {

firstName="N/A";

lastName="N/A";

emailAddress="N/A";

phoneNumber="N/A";

}publicContact(Stringfirst,Stringlast,Stringemail,Stringnumber) {

firstName=first;

lastName=last;

emailAddress=email;

phoneNumber=number;

}

@Id

@GeneratedValue(strategy=GenerationType.AUTO)

@Column(name="id", nullable=false, updatable=false)privatelongid;

@Column(name="lastName", nullable=false, unique=false)privateStringlastName;

@Column(name="firstName", nullable=false, unique=false)privateStringfirstName;

@Column(name="emailAddress", nullable=false, unique=false)privateStringemailAddress;

@Column(name="phoneNumber", nullable=false, unique=false)privateStringphoneNumber;publicvoid setPhoneNumber(Stringnumber) { phoneNumber=number; }publicStringgetPhoneNumber() { return phoneNumber; }publicStringgetEmailAddress() { return emailAddress; }publicvoid setEmailAddress(Stringaddress) { emailAddress=address; }publicStringgetFirstName() { return firstName; }publicvoid setFirstName(Stringfirst) { firstName=first; }publicStringgetLastName() { return lastName; }publicvoid setLastName(Stringlast) { lastName=last; }publiclonggetId() { return id; }publicvoid setId(longnewId) { id=newId; }

@OverridepublicStringtoString() {

return id+""+firstName+""+lastName+""+emailAddress+""+phoneNumber;

}

}

《宾馆客房管理系统》是一个基于C#与MySQL的项目,旨在帮助学习者掌握数据库管理和系统开发知识。该项目通过完整代码实现,将编程技术应用于宾馆客房管理的实际业务场景。 C#是微软开发的面向对象编程语言,广泛用于Windows应用程序开发。在本项目中,C#用于构建用户界面、处理业务逻辑以及与数据库交互。它拥有丰富的类库,便于开发复杂图形用户界面(GUI),并通过ADO.NET组件实现与MySQL数据库的连接。MySQL是一种流行的开源关系型数据库管理系统(RDBMS),常用于Web应用程序,用于存储客房、预订、客户等核心数据。通过SQL语句,开发者可对数据进行增、删、改、查操作。系统中可能涉及“客房表”“预订表”“客户表”等,包含客房编号、类型、价格、预订日期等字段。 数据库连接是系统的关键部分。C#通过ADO.NET的SqlConnection类连接MySQL数据库,连接字符串包含服务器地址、数据库名称、用户名和密码。用户下载项目后,需根据本地环境修改连接字符串中的用户名和密码。系统主要功能模块包括:客房管理,可展示、添加、修改、删除客房信息;预订管理,处理预订的查看、新增、修改和取消;客户管理,存储和管理客户个人信息;查询功能,支持按客房类型、价格范围、预订日期等条件查询;报表和统计功能,生成入住率、收入统计等报表辅助决策。开发者需编写C#方法对应数据库操作,同时设计直观易用的界面,方便用户完成预订流程。项目中的MySQL文件可能是数据库脚本或配置文件,包含建表、数据填充及权限设置等内容,用户需在本地测试前运行脚本设置数据库环境。 总之,该系统结合C#和MySQL,为学习者提供了一个涵盖数据库设计、业务逻辑处理和界面开发的综合实践案例,有助于提升开发者在数据库应用和系统集成方面的能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值