APP下载

基于MVC公众账号交互平台的数据库开发

2017-06-05王家隆

电子技术与软件工程 2017年7期
关键词:数据库微信

王家隆

摘 要 公共账号交互平台的设计主要是基于MVC框架设计模式,也就是模型-视图-控制器的模式,采用的是SSH框架(Strut-Spring-Hibernate),在系统开发过程中,用Strut来负责针对表现层传来的request根据servlet和service做出对应的response;Hibernate用于实现对数据库的封装和操作。本论文首先对微信公共平台的现状和发展做出了介绍,接下来会重点介绍本论文重点研究的内容,也就是整个系统开发过程的数据库的设计和实现。最后,会得出对本次系统设计和实现的总结和展望。

【关键词】MVC Hibernate 微信 数据库

随着信息化、网络化时代的到来,各种社交软件玲琅满目,微信作为一个通讯社交软件被广大用户使用,越来越多企业和个人运用微信开发出自己的个人项目。对公共账号交互平台的开发因为广泛的用户而具有极高的市场价值。所谓成功是站在巨人的肩膀上,微信公共账号就是现在的一个巨人,开发者要学会利用现有的资源开发出更多更完善的功能。

在众多项目的设计和开发过程中,数据库的设计与实现扮演者重要的角色,一个良好的数据库设计能够充分利用有效的资源去更好的实现项目,能够使项目在开发过程中顺利进行,也使得项目在开发完成后维护和扩展方面具有更好的优势,设计不好数据库可能让项目在开发中增加不必要的障碍,也使得系统维护和扩展收到阻扰。一般课题针对公共账号平台系统的开发过程进行分析和研究,主要包括从了解目前微信公共平台的开发现状到整个系统实现过程中数据库设计的全部内容。其中包括数据库设计的六个阶段,第一是针对系统在数据、功能和性能等三方面对需求进行分析;第二是数据库的概念结构设计主要是E-R模型与E-R图;第三是逻辑结构设计,也就是将E-R图转换成关系表的过程;第四是数据库的物理设计,包括数据库的存储结构与存取路径,数据的划分与分布等;第五是对数据库的实现,主要有编程、测试和试运行三个方面;最后是对数据库运行和维护,包括了监控与分析、备份和恢复、重组织与重构造、安全性控制与完整性控制。本文主要对数据库的物理实现和数据库的实现做详细研究。

公共平台交互系统是以ROM为主要设计思路、Hibernate为设计框架设计实现的。在项目中引入了hibernate.cfg.xml配置文件实现了对数据库的连接,数据库使用的是MySql,在开发过程中,编写了.java类和.hbm.xml的映射文件来实现程序与数据库的操作和交互。

1 数据库实体设计

公共账号交互平台采用的数据库是MySql,在数据库中建立了一个名为michat的数据库,michat是我们项目的Might Chat的简称,中文名称为威信。Michat数据库包含了依照需求分析在本系统中有两种用户,一种是管理员用户,一种是关注了公共账号交互平台的粉丝,其中管理员用户只定义了一个用户,因为管理员不存在注册等功能,所以在数据库中并没有设计管理員的表格。数据库中定义粉丝、活动、消息,接下来以粉丝数据和管理员为例具体介绍实体关系模型。

粉丝数据实体:粉丝实体包含了很多内容,包括粉丝ID、粉丝的昵称、粉丝的头像、粉丝所在的分组、粉丝是否关注了公共账号、粉丝的性别、所在的国家、所在省份、所在城市、粉丝的游戏、活动情况、健康状态、关注公共账号的时间和粉丝目前的状态。因为公共账号提供了众多的功能,所以粉丝的实体包含的内容很多。

管理员数据实体:包含了管理员的ID、用户名、管理员的头像和密码。主要用于储存管理员的相关数据。

数据库实体间的关系:在公共账号交互平台中,粉丝能够查看多个消息包括三个类型有微新闻、服装和美食,三种形式消息也能同时被多个粉丝查看。粉丝能够通过输入自己的用户名等信息生成带有自己填入信息的二维码,通过扫描二维码可以获得粉丝输入的信息,每个粉丝能生成多个二维码,但是一个二维码上面只能够携带一个粉丝的信息。粉丝能够参与微游戏,微游戏为通关游戏,只有通过上一道关卡才能进入下一个关卡,游戏实体指的是游戏过程中的游戏关卡,所以每个粉丝能够玩多个游戏,并且游戏能同时供多个粉丝娱乐。粉丝能参与三种活动,粉丝可以参与多个线下活动,但是不能同时参与两个或两个以上的线下活动,粉丝能参与多个投票活动,但是对于已经投票的活动不能再次投票,粉丝能参与讨论活动,讨论活动不受限制,只要发布的评论文明。三种活动都是允许多个粉丝同时参与的。

2 数据库表设计

表的详细设计:数据库中表的设计是整个数据库中最重要的部分,良好的表设计能够充分利用数据库的资源,出现较少数据之间的冗余,并且能够做到储存数据的完整性和统一性,没有良好设计的数据库可能会出现大量运用资源却得不到好的利用率。在数据库的设计过程中也要注意数据的安全性保护,不能为了减少数据冗余而出现数据的遗漏。

公共账号交互平台的角色有粉丝和管理员两种,对于粉丝这个角色拥有太多的属性和操作,如果将所有表项放在一块不符合数据库的设计原则,所以项目中设计了三个跟粉丝有关的表,一个用于存放跟粉丝有关的属性,例如粉丝的ID、昵称、头像等;一个存放微活动和健康等操作中需要用到粉丝的相关属性,例如粉丝的状态、粉丝的健康养成等;最后一个是为微游戏提供的专用表,主要是存放粉丝的相关属性和粉丝的微游戏状态。以粉丝表设计为例重点描述。

3 总结

本文主要介绍了公共账号交互平台开发过程中的数据库的设计原理、要求和具体的设计。在整个设计过程中要注意实体间的关系,实体与表之间的映射,最为重要的是表的设计,要注意表与表之间的逻辑关系,要留心外键的设计和使用,还有再最开始设计时一定要注意编码方式的统一。本章还简单介绍了数据库实现的过程,介绍了在公共账号交互平台系统中数据库实现遇到的一些困难和注意事项。整体而言,数据库的设计是一个细心、缜密的工作,需要开发者能够全面的考虑问题。

作者单位

上海交通大学 上海市 200433

猜你喜欢

数据库微信
微信
微信
微信