基于SSM+BaiduMap.API+MySQL实现的疫情打卡系统
1.项目简介
1.1 介绍
基于SSM框架搭建的疫情打卡系统,调用了百度地图的api接口,layui为框架,数据库为mysql。
1.2 软件架构
1.3 页面展示
登录页
注册页同登录页。
首页
打卡记录页
修改密码页
管理员页面
2.项目准备
-
MySQL5.7
-
Navicat Premium
-
Tomcat9.0.37
-
Maven3.3.9
-
IDEA
-
Layui前端框架
3.项目搭建
3.1 数据库设计
数据库模型
3.2 表结构
打卡信息表
用户表
3.3 sql语句
在Navicat Premium里运行sql语句
```sql /* Navicat MySQL Data Transfer
Source Server : MySQL57 Source Server Version : 50727 Source Host : localhost:3306 Source Database : healthcheck
Target Server Type : MYSQL Target Server Version : 50727 File Encoding : 65001
Date: 2021-04-10 19:13:46 */
SET FOREIGN_KEY_CHECKS=0;
-- Table structure for signinfo
DROP TABLE IF EXISTS
signinfo
;
CREATE TABLE
signinfo
(
username
varchar(20) NOT NULL,
temperature
varchar(10) DEFAULT NULL,
address
varchar(255) DEFAULT NULL,
date
varchar(20) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- Records of signinfo
INSERT INTO
signinfo
VALUES ('佐佳豪', '36', '九江市共青城市江西信息应用职业技术学院(共青校区)', '2021-04-06');
INSERT INTO
signinfo
VALUES ('佐佳豪', '36', '九江市共青城市江西信息应用职业技术学院(共青校区)', '2021-04-07');
INSERT INTO
signinfo
VALUES ('测试1', '37', '九江市共青城市江西信息应用职业技术学院(共青校区)', '2021-04-07');
INSERT INTO
signinfo
VALUES ('佐佳豪', '123', '北京市丰台区江西大厦', '2021-04-08');
INSERT INTO
signinfo
VALUES ('佐佳豪', '23', '北京市西城区中国中医科学院广安门医院', '2021-04-08');
INSERT INTO
signinfo
VALUES ('佐佳豪', '23', '北京市西城区中国中医科学院广安门医院', '2021-04-08');
INSERT INTO
signinfo
VALUES ('佐佳豪', '36', '南昌市红谷滩区江西省人民政府', '2021-04-09');
INSERT INTO
signinfo
VALUES ('佐佳豪', '23', '北京市北京市地铁10号线', '2021-04-09');
INSERT INTO
signinfo
VALUES ('佐佳豪', '23', '北京市北京市地铁10号线', '2021-04-09');
INSERT INTO
signinfo
VALUES ('佐佳豪', '23', '北京市北京市地铁10号线', '2021-04-09');
INSERT INTO
signinfo
VALUES ('佐佳豪', '23', '北京市北京市地铁10号线', '2021-04-09');
INSERT INTO
signinfo
VALUES ('佐佳豪', '23', '北京市北京市地铁10号线', '2021-04-09');
INSERT INTO
signinfo
VALUES ('4317', '37', '九江市共青城市江西信息应用职业技术学院(共青校区)', '2021-04-09');
INSERT INTO
signinfo
VALUES ('李玮峰', '36', '上饶市婺源县江西婺源景区售票点', '2021-04-09');
INSERT INTO
signinfo
VALUES ('1', '37', '九江市共青城市江西信息应用职业技术学院(共青校区)', '2021-04-09');
INSERT INTO
signinfo
VALUES ('lwf2891541194', '36', '九江市共青城市江西信息应用职业技术学院(共青校区)', '2021-04-09');
INSERT INTO
signinfo
VALUES ('cxq521', '36', '南昌市青云谱区江西信息应用职业技术学院', '2021-04-10');
INSERT INTO
signinfo
VALUES ('万津津', '21', '九江市共青城市共青城市', '2021-04-10');
INSERT INTO
signinfo
VALUES ('万津津', '43', '北京市朝阳区212影库(北京市朝阳区)', '2021-04-10');
INSERT INTO
signinfo
VALUES ('123', '36', '北京市东城区天安门广场', '2021-04-10');
-- Table structure for user
DROP TABLE IF EXISTS
user
;
CREATE TABLE
user
(
username
varchar(20) NOT NULL,
password
varchar(255) DEFAULT NULL,
PRIMARY KEY (
username
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- Records of user
INSERT INTO
user
VALUES ('098', '098');
INSERT INTO
user
VALUES ('1', '1');
INSERT INTO
user
VALUES ('123', '123');
INSERT INTO
user
VALUES ('4317', '4317');
INSERT INTO
user
VALUES ('8888', '8888');
INSERT INTO
user
VALUES ('999', '999');
INSERT INTO
user
VALUES ('cxq123', '123');
INSERT INTO
user
VALUES ('cxq521', '123');
INSERT INTO
user
VALUES ('lwf2891541194', '123');
INSERT INTO
user
VALUES ('万津津', '12345');
INSERT INTO
user
VALUES ('佐佳豪', '123');
INSERT INTO
user
VALUES ('傻逼', '1');
INSERT INTO
user
VALUES ('李玮峰', '123');
INSERT INTO
user
VALUES ('测试1', '123');
INSERT INTO
user
VALUES ('重新1', '123');
INSERT INTO
user
VALUES ('陈小青', '777');
```
4.项目实现
4.1 pojo(实体类)
java
//lombok注释,省去写getset
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
private String username;//用户名
private String password;//密码
//signinfo 打卡记录
private String temperature;//体温
private String address;//地址
private String date;//时间
}
4.2 dao(数据持久层)
UserDao接口
java
public interface UserDao {
//登录用户
User logUser(User user);
//注册用户
int regUser(@Param("username")String username,@Param("password") String password);
//修改用户信息
int updateUserInfo(User user);
//查看打卡记录
List<User> queryDataByUsername(@Param("username") String username);
//添加打卡记录
int addData(User user);
//查询全部用户打卡记录
List<User> queryDataAll();
}
这个时候我们要去立马去编写UserDao.xml(sql映射文件)
```java COPY<?xml version="1.0" encoding="UTF-8" ?>
4.3 service(业务层)
UserService接口
java
public interface UserService {
//登录用户
User logUser(User user);
//注册用户
int regUser(String username,String password);
//修改用户信息
int updateUserInfo(User user);
//查看打卡记录
List<User> queryDataByUsername(String username);
//添加打卡记录
int addData(User user);
//查询全部用户打卡记录
List<User> queryDataAll();
}
UserServiceImpl(实现类)
java
public class UserServiceImpl implements UserService {
//业务层调用dao层
private UserDao userDao;
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
@Override
public List<User> queryDataAll() {
return userDao.queryDataAll();
}
@Override
public User logUser(User user) {
return userDao.logUser(user);
}
@Override
public int updateUserInfo(User user) {
return userDao.updateUserInfo(user);
}
@Override
public int regUser(String username, String password) {
return userDao.regUser(username,password);
}
@Override
public List<User> queryDataByUsername(String username) {
return userDao.queryDataByUsername(username);
}
@Override
public int addData(User user) {
return userDao.addData(user);
}
}
4.4 controller(控制层)和 前端视图层
我们按照访问网站的流程来:
首先是注册(只可注册普通用户)
RegisterController
java
@Controller
public class RegisterController {
/**
* 调用service层的登录方法
*/
@Autowired
@Qualifier("UserServiceImpl")
private UserService userService;
@RequestMapping("/IfRegister")
public String Register(HttpSession session,String username, String password){
System.out.println(username+"+"+password);
try {
int result = userService.regUser(username,password);
if (result != 0){
return "redirect:/login.jsp";
}
}catch (Exception e){
session.setAttribute("info","用户名已存在!");
System.out.println("用户名已存在!");
return "register";
}
return "redirect:/login.jsp";
}
}
JumpController
类似于工具类,用于调转页面
java
@Controller
public class JumpController {
//跳转首页
@RequestMapping("/jumpMain")
public String jumpMain() {
return "main";
}
//跳转成功
@RequestMapping("/jumpRegister")
public String jumpRegister(HttpSession session) {
session.removeAttribute("info");
return "register";
}
//跳转到个人信息
@RequestMapping("/jumpUserMod")
public String jumpUserMod(){
return "usermod";
}
}
SignController(打卡控制器)
java
@Controller
public class SignController {
@Autowired
@Qualifier("UserServiceImpl")
private UserService userService;
/**
* 打卡控制层
* */
@RequestMapping("/SignIn")
public String SignIn(User user) {
System.out.println(user);
int i = userService.addData(user);
if (i != 0) {
return "main";
}
return null;
}
}
参考文献
- 基于SSH架构的个人空间交友网站的设计与实现(北京邮电大学·隋昕航)
- 基于社交的任务管理软件的设计与实现(北京交通大学·李甜甜)
- 基于校园一卡通的图书管理系统的设计与实现(电子科技大学·陆瑶)
- 企业项目管理系统设计与实现(吉林大学·刘舒杨)
- 智能核酸检测信息管理平台的设计与实现(山东大学·李圣伟)
- 基于OAuth2.0协议的企业分布式授权系统设计与实现(华中科技大学·支猛)
- 真心药品分销管理系统的设计与实现(吉林大学·王云峰)
- 基于SSH架构的个人空间交友网站的设计与实现(北京邮电大学·隋昕航)
- 基于OAuth2.0协议的企业分布式授权系统设计与实现(华中科技大学·支猛)
- 基于社交的任务管理软件的设计与实现(北京交通大学·李甜甜)
- 基于Java的任务管理及员工考勤系统的设计与实现(东北大学·付杨)
- 基于SSM框架的短信接入系统的设计与实现(华中科技大学·姚浩宇)
- 基于J2EE的工作流考勤系统的设计与实现(吉林大学·王奇峰)
- 企业考勤系统的设计与实现(吉林大学·梁赫)
- 基于SSM框架的短信接入系统的设计与实现(华中科技大学·姚浩宇)
本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:毕设工厂 ,原文地址:https://m.bishedaima.com/yuanma/35500.html