基于java和mysql的投票系统_通过JAVA和MySQL写一个投票系统

本文讨论了一个投票系统的类设计,包括投票人(Voters)、候选人(Candidate)和票(Ticket)类。每个类都有其特定的属性,如votersId、candidateId和ticketStatus。系统通过票类作为桥梁连接投票人和候选人,确保投票的有效性。当投票发生时,通过检查投票人是否超过限制来确定票的状态。设计完成后,数据存储在MySQL数据库中,便于后续的统计和分析。
摘要由CSDN通过智能技术生成

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

说一下我的思路。

根据你说的大概可以抽象出三个类: 投票人类(Voters)、候选人类(Candidate)和票(Ticket)类。

想一下他们的关系,投票人 将票投给候选人即投票人——>票——>候选人,很简单的逻辑关系。那么我们能看出票是将投票人和候选人联系起来的桥梁。

好,理清了关系,那么我们接下来考虑这三个类的属性,按最简单的来。投票人来一个投票人ID(votersId),候选人来一个候选人ID(candidateId),那么票类呢?正如我们上面说的票是另外两个类的纽带所以票类的属性必有:

投票人ID(votersId),候选人ID(candidateId)

再加上你说的有效票,废票,我们把有效票,废票看做票的状态(ticketStatus)。

那么这三个类分别是

投票人类(Voters) 属性: votersId

候选人类(Candidate)属性:candidateId

票(Ticket)类 属性:votersId,candidateId,ticketStatus

好了你可以在mysql中建立对应的三张表(voters、candidate、ticket)

好接下来的事情就很简单了,当投票人点击复选框时你肯定能拿到投票人的ID(votersId)和候选人的ID(candidateId),然后你把数据插入到ticket表中,至于票的状态(即有效票废票)你可以在插入之前判断一下投票人是不是投了超过三张票。大概流程就是这样子:

投票人点击复选框给候选人投票----获取votersId、candidateId---------》判断ticket表投票人是不是多于三张是的话ticketStatus设为1(代表废票)否则设为0(有效票)------------》将votersId、candidateId、ticketStatus插入数据库

之后你想怎么统计都可以了,当然数据传递过程中要用类来封装数据

------------------------------------------------------------这是我的见解,有问题可以再问。太晚了 睡了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您提供一些简单的步骤,帮助您创建一个基于SpringBoot的简约投票系统。 1. 环境准备 首先,您需要安装Java和SpringBoot。您可以在官网上下载JDK和SpringBoot。另外,您还需要安装一个IDE,比如IntelliJ IDEA或者Eclipse。 2. 创建SpringBoot项目 在IDE中创建一个SpringBoot项目。您可以使用Spring Initializr或者手动创建。如果您使用Spring Initializr,可以在https://start.spring.io/上创建一个新的SpringBoot项目。 3. 定义数据实体 在项目中定义数据实体,例如投票主题、投票选项和投票结果。您可以使用JPA注解来定义实体类,以便将数据存储到数据库中。 4. 创建控制器 创建一个控制器类来处理HTTP请求,并将请求转发到服务层处理。控制器还可以使用Thymeleaf等模板引擎来渲染页面。 5. 创建服务层 创建一个服务层来处理业务逻辑,例如创建新的投票主题、添加投票选项、计算投票结果等。 6. 创建数据库 创建一个数据库并配置连接信息。您可以使用MySQL、PostgreSQL等关系型数据库,或者使用MongoDB等NoSQL数据库。 7. 部署应用程序 最后,将应用程序部署到服务器上,并配置好端口号、访问路径等信息。您可以使用Tomcat、Jetty等Web容器来部署应用程序。 这些步骤可以帮助您创建一个简单的投票系统。当然,还有很多其他的细节需要处理,例如身份验证、异常处理、前端设计等。但是这些步骤可以让您开始构建一个基本的投票系统,您可以根据自己的需求进行扩展和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值