简单疫情信息管理系统(含完整代码)
功能概述 :选择用户登录或者管理员登录,用户可以查看当前各地疫情信息,管理员可以实时更新疫情人数(增删查改)
1. 表设计:
2. 编写实体类(User,Manager,EpidemicData)
分别定义这三个类的字段并进行封装
package com.etc.entity;
//用户类
public class User {
private int userId;//用户id
private String userName;//用户名
private String userPwd;//用户密码
public User() {
super();
}
public User(String userName, String userPwd) {
super();
this.userName = userName;
this.userPwd = userPwd;
}
public User(int userId, String userPwd) {
super();
this.userId = userId;
this.userPwd = userPwd;
}
public User(int userId, String userName, String userPwd) {
super();
this.userId = userId;
this.userName = userName;
this.userPwd = userPwd;
}
@Override
public String toString() {
return "User [userId=" + userId + ", userName=" + userName + ", userPwd=" + userPwd + "]";
}
public int getUserId() {
return userId;
}
public void setUserId(int userId) {
this.userId = userId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserPwd() {
return userPwd;
}
public void setUserPwd(String userPwd) {
this.userPwd = userPwd;
}
}
package com.etc.entity;
//管理员类
public class Manager {
private int managerId;//管理员id
private String managerName;//管理员名
private String managerPwd;//管理员密码
public Manager() {
super();
}
public Manager(int managerId, String managerPwd) {
super();
this.managerId = managerId;
this.managerPwd = managerPwd;
}
public Manager(int managerId, String managerName, String managerPwd) {
super();
this.managerId = managerId;
this.managerName = managerName;
this.managerPwd = managerPwd;
}
public int getManagerId() {
return managerId;
}
public void setManagerId(int managerId) {
this.managerId = managerId;
}
public String getManagerName() {
return managerName;
}
public void setManagerName(String managerName) {
this.managerName = managerName;
}
public String getManagerPwd() {
return managerPwd;
}
public void setManagerPwd(String managerPwd) {
this.managerPwd = managerPwd;
}
}
package com.etc.entity;
//疫情数据类
public class EpidemicData {
private String area;//地区
private int existConf;//现存确诊
private int cumConf;//累计确诊
private int death;//死亡人数
private int cure;//治愈人数
public EpidemicData() {
super();
}
public EpidemicData(String area, int existConf, int cumConf, int death, int cure) {
super();
this.area = area;
this.existConf = existConf;
this.cumConf = cumConf;
this.death = death;
this.cure = cure;
}
@Override
public String toString() {
return "EpidemicData [area=" + area + ", existConf=" + existConf + ", cumConf=" + cumConf + ", death=" + death
+ ", cure=" + cure + "]";
}
public String getArea() {
return area;
}
public void setArea(String area) {
this.area = area;
}
public int getExistConf() {
return existConf;
}
public void setExistConf(int existConf) {
this.existConf = existConf;
}
public int getCumConf() {
return cumConf;
}
public void setCumConf(int cumConf) {
this.cumConf = cumConf;
}
public int getDeath() {
return death;
}
public void setDeath(int death) {
this.death = death;
}
public int getCure() {
return cure;
}
public void setCure(int cure) {
this.cure = cure;
}
}
3. 编写DAO层(数据访问层)
1.这里就是3个实体类的接口,里面定义了注册,登录,修改密码,以及增删查改的方法
2.还有一个BaseDao,这是一个工具类,将连接数据库的一些公共方法写到了这个类中
package com.etc.dao;
import com.etc.entity.User;
/**
* 用户接口
* @author Administrator
*
*/
public interface UserDao {
/**
* 用户登录
* @param user
* @return
*/
boolean userLogin(User user);
/**
* 用户注册
* @param user
* @return
*/
boolean userRegister(User user);
/**
* 用户修改密码
* @param userId
* @return
*/
boolean updatePwd(User user);
}
package com.etc.dao;
import com.etc.entity.Manager;
/**
* 管理员接口
* @author Administrator
*
*/
public interface ManagerDao {
/**
* 管理员登录
* @param manager
* @return
*/
boolean managerLogin(Manager manager);
/**
* 管理员修改密码
* @param managerId
* @return
*/
boolean updatePwd(Manager manager);
}
package com.etc.dao;
import java.util.List;
import com.etc.entity.EpidemicData;
/**
* 疫情数据接口
* @author Administrator
*
*/
public interface EpidemicDao {
/**
* 添加记录
* @param epidemicData
*/
void epidemicAdd(EpidemicData epidemicData);
/**
* 根据地区删除记录
* @param area
*/
void epidemicDel(String area);
/**
* 更新疫情人数
* @param epidemicData
*/
void epidemicUpdate(EpidemicData epidemicData);
/**
* 查询所有疫情人数
* @return
*/
List<EpidemicData> epidmicQuery();
}
package com.etc.dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class BaseDao {
private static String DRIVER = "com.mysql.jdbc.Driver";
private static final String URL = "jdbc:mysql://localhost:3306/epidemic";
private static final String USERNAME = "root";
private static final String USERPWD = "root";
public static Connection getConnection() {
//连接数据库通用方法
try {
Class.forName(DRIVER);//加载驱动
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
Connection conn = null;
try {
conn = DriverManager.getConnection(URL, USERNAME