Spring MVC+BlazeDS+Flex框架实践:Database篇

来源:互联网 发布:制作网站的软件 编辑:程序博客网 时间:2024/06/05 08:38

在http://blog.csdn.net/meteorlWJ/archive/2009/09/12/4545858.aspx中实践了此框架的基础搭建,本次的实践将在此基础上引入hibernate配置,并创建FLEX应用实现数据库操作。

一、环境配置
      MyEclipse 7.0

      Flex Builder 3.0

      Tomcat 6.0

      JDK1.6

      Flex sdk 3.2

      Oracle 10g :XE


二、Hibernate+Proxool配置
      Hibernate管理JAVA类到数据库表的映射,并提供数据查询和获取的方法。Hibernate对JDBC进行了轻量级的对象封装,完成了数据持久化的重任。
     这是一个Java SQL Driver驱动程序,提供了对你选择的其它类型的驱动程序的连接池封装。Proxool提供一个健壮、易用的连接池,最为关键的是这个连接池提供监控的功能,方便易用,便于发现连接泄漏的情况。

1)连接池配置:proxool.xml
在JAVA工程src下创建proxool.xml,添加如下配置:

其中参数详解如下:
     alias :数据源别名
     driver-url :连接字符串
     driver-class :驱动类
     statistics :连接池使用状态统计
     driver-properties :数据库连接用户名/密码
     house-keeping-sleep-time :house keeper保留线程处于睡眠状态的最长时间,
     house-keeper的职责就是检查各个连接的状态,并判断是否需要销毁或创建
     maximum-new-connections :没有空闲连接时可以分配在队列中等待的最大请  求数
     maximum-connection-count :最大连接数
     minimum-connection-count :最小连接数
     trace :每个被执行的SQL语句是执行期是否用被LOG记录
     verbose :详细信息设置


2)hibernate配置
在JAVA工程src目录下创建Application-hibernate.xml,添下如下配置

3)配置web.xml

在上一篇中提到web.xml中配置了初始化时加载的文件,在添加了hibernate配置后,同样需要将其添加到web.xml的初始化文件列表中,

修改web.xml中的相关配置:

 

三、数据库对象映射配置
    项目中使用Hibernate管理JAVA类到数据库表的映射,它可以实现ORM(Object Relational Mapping),将关系数据库中表的数据映射成对象。

1)创建数据库对象
通过以下脚本创建数据库对象

2)创建Who字段映射类
     如果你接触过ORACLE数据库,相信对WHO字段应该很熟悉了吧,这里就不多做解释了。本例中将WHO字段的映射独立出来,这样对所有的数据库映射类都能同样使用,而不用重复相同的代码。
     在src下创建package com.common.domain,创建BaseWhoEntity.java

3)创建数据库实体类
    在创建完数据库表FwkUsers后,我们需要创建与之对应的JAVA实体类,通过Hibernate的annotation实现对象映射
    在JAVA工程src下创建package com.admin.domain,创建FrameworkUser.java

4)创建对象扫描类
     项目中使用Hibernate映射数据库对象,在做CUDI(Create、Update、Delete、Insert)时希望能够通过对象名自动找到对应的DAO进行事务处理。
    在JAVA工程src目录下创建package com.common.util,创建ExtSpringPackageScan.java

 

四、DAO设计
      DAO层的设计采用的是泛型设计。泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。泛型的好处是在编译的时候检查类型安全,并且所有的强制转换都是自动和隐式的,提高代码的重用率。

1)DAO接口设计
     在JAVA 工程src下创建package com.common.hibernate,创建GenericDao.java

2)DAO接口实现
    在JAVA工程com.common.hibernate下创建GenericDaoImpl.java

 

五、Service设计
通过设计Service层,实现与FLEX之间的数据传递。

1)在JAVA 工程src下创建package com.common.service,创建GenericService.java

2)创建具体应用类BaseService.java
在JAVA工程com.common.service下创建BaseService.java

3)完成DAO与Service层的设计后,需要修改hibernate配置
修改Application-hibernate.xml,添加如下配置:

 

六、远程服务应用
1)发布BaseService
修改Application-Flex.xml,添加如下配置:

2)FLEX引用BaseService
修改FLEX工程remoting-config.xml,添加如下配置:

3)创建UserModule.mxml
在FLEX工程src/modules下创admin目录,创建UserModule.mxml,通过RemoteObject调用远程服务

4)修改Index.mxml,添加如下内容:

 

七、编译运行
1)编译FLEX工程
选择Project—>Clean—>TestProject
2)拷贝编译目录bin-debug/modules到JAVA工程WebRoot下
3)启动本地数据库
4)启动Tomcat服务器
5)服务器正常启动后,在浏览器中输入地址(其中9090为服务器端口)
http://localhost:9090/TestProject/modules/common/Index.html

 

运行结果如下:
首页:

保存数据,检查JAVA与FLEX通信是否正常:

 

 

访问数据库,检查数据是否保存成功: