问卷调查系统说明(10)
时间:2025-07-11
时间:2025-07-11
图3-2-1
(三)、持久层设计与实现
1、数据库设计
核心实体包括:问卷(SURVEY),问题(QUESTION),答卷(ANSWERSHEET);还有保存用户输入的文本的文本输入项实体(TEXT),管理员表(ADMINS),友情链接表(LINK),系统配置表(CONFIG),如图3-3-1 。
值得一提的是,为了保证每个题目可以有不限量个选项,在question表中,我把q_body字段用来保存该题目所以的选项信息,每个选项用&$$&这个特殊字符串隔开,同样的,在q_result中保存的调查结果信息用逗号隔开,在q_jdtz中保存的截断跳转信息用&隔开。
图3-3-1
问卷表(SURVEY)
题目表(question)
答卷表(answersheet)
题目内部以题号开头+冒号
+[用户选择的项]+分号
+[用户输入文本]
as_postdate datetime yes提交日期
as_userIP varchar(50)yes用户IP
2、持久层框架设计
持久性框架是一组软件服务,将应用程序同其使用和操纵的数据源分离。它位于机构的数据源之上,隐藏访问这些数据源的数据查询存取API(如JDBC、实体EJB 等),它提供的服务应完全抽象,并且隐藏使用及操纵数据源数据的细节。图3-3-2显示了它在J2EE系统体系结构中的地位。
图3-3-2
本系统在持久层主要使用了3种设计模式:DAO模式、VO模式、简单工厂模式。DAO(数据访问对象)模式:
数据访问对象(DAO)模式使用数据访问对象来封装和抽象对所有数据源的访问,它管理着与数据源的连接以便于检索和存储数据,为业务对象提供了透明的底层数据访问实现。DAO模式完全包装数据的读取和操纵,并包装与数据库交互的数据访问API,它用数值对象包装从数据库读取和发送到数据库的数据,与业务层进行通信。DAO模式提供的灵活性是由于应用程序并不直接访问数据源,而是创建DAO对象,用其访问数据源。读取数据时,可以用数值对象保存取得的数据。例如:——————————SurveyDAO.java begin——————————
……
public interface SurveyDAO {
boolean addSurvey(Survey survey);//添加问卷
boolean updateSurvey(Survey survey);//更新问卷
boolean delSurvey(Long surveyId);//删除问卷
……
}
下一篇:巨人通力电梯故障代码