在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通信是否正常:
访问数据库,检查数据是否保存成功: