计算机毕业设计 基Javaweb的校园订餐系统的设计与实现Java实战项目 附源码+文档+视频讲解

news2024/12/28 20:16:06

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌

🍅文末获取源码联系🍅

👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟
————————————————

计算机毕业设计题目《1000套》✌

目录

一.前言介绍及开发技术

二.功能设计

三.功能截图

四.数据库表结构设计

五.关键代码

六.论文目录参考

七.源码获取


一.前言介绍及开发技术

 使用旧方法对校园订餐系统的信息进行系统化管理已经不再让人们信赖了,把现在的网络信息技术运用在校园订餐系统的管理上面,可以解决许多信息管理上面的难题,比如处理数据时间很长,数据存在错误不能及时纠正等问题。经过前面自己查阅的网络知识,加上自己在学校课堂上学习的知识,决定开发系统选择B/S模式这种高效率的模式完成系统功能开发。这种模式让操作员基于浏览器的方式进行网站访问,采用的主流的Java语言这种面向对象的语言进行校园订餐系统程序的开发,在数据库的选择上面,选择功能强大的Mysql数据库进行数据的存放操作。

二.功能设计

 这次开发的校园订餐系统对菜品管理、菜品收藏管理、菜品评价管理、菜品订单管理、字典管理、论坛管理、公告管理、用户管理、管理员管理等进行集中化处理。校园订餐系统针对管理员设置的功能有:添加并管理各种类型信息,管理用户账户信息,管理菜品管理信息,管理公告信息等内容。校园订餐系统针对用户设置的功能有:查看并修改个人信息,查看菜品管理信息,查看公告信息等内容。

三.功能截图

系统登录功能是程序必不可少的功能,在登录页面必填的数据有两项,一项就是账号,另一项数据就是密码,当管理员正确填写并提交这二者数据之后,管理员就可以进入系统后台功能操作区。

系统首页可以看到菜品展示和公告展示。

首页的菜品的进入后可以看到推荐的菜品以及菜品价格,还可以对该菜品进行购买下单和看到其他用户对该菜品的评论。

首页论坛可以发布帖子也可以查看其他用户发布的帖子。

个人中心可以对个人信息和进行更新和修改。

 

 菜品管理页面提供的功能操作有:查看菜品管理,删除菜品管理操作,新增菜品管理操作,修改菜品管理操作。

 公告信息管理页面提供的功能操作有:新增公告,修改公告,删除公告操作。

 公告类型管理页面显示所有公告类型,在此页面既可以让管理员添加新的公告信息类型,也能对已有的公告类型信息执行编辑更新,失效的公告类型信息也能让管理员快速删除。

四.数据库表结构设计

CREATE TABLE `caipin` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键 ',
  `caipin_name` varchar(200) DEFAULT NULL COMMENT '菜品名称  Search111 ',
  `caipin_uuid_number` varchar(200) DEFAULT NULL COMMENT '菜品编号',
  `caipin_photo` varchar(200) DEFAULT NULL COMMENT '菜品照片',
  `caipin_types` int(11) DEFAULT NULL COMMENT '菜品类型 Search111',
  `caipin_kucun_number` int(11) DEFAULT NULL COMMENT '菜品库存',
  `caipin_new_money` decimal(10,2) DEFAULT NULL COMMENT '金额',
  `caipin_clicknum` int(11) DEFAULT NULL COMMENT '菜品热度',
  `caipin_content` longtext COMMENT '菜品介绍 ',
  `caipin_delete` int(11) DEFAULT NULL COMMENT '逻辑删除',
  `insert_time` timestamp NULL DEFAULT NULL COMMENT '录入时间',
  `create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间  show1 show2 photoShow',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8 COMMENT='菜品';

/*Data for the table `caipin` */

insert  into `caipin`(`id`,`caipin_name`,`caipin_uuid_number`,`caipin_photo`,`caipin_types`,`caipin_kucun_number`,`caipin_new_money`,`caipin_clicknum`,`caipin_content`,`caipin_delete`,`insert_time`,`create_time`) values (1,'菜品名称1','1679384221158','upload/caipin1.jpg',4,101,'225.26',452,'菜品介绍1',1,'2023-03-21 15:37:01','2023-03-21 15:37:01'),(2,'菜品名称2','1679384221161','upload/caipin2.jpg',4,102,'23.70',134,'菜品介绍2',1,'2023-03-21 15:37:01','2023-03-21 15:37:01'),(3,'菜品名称3','1679384221243','upload/caipin3.jpg',4,103,'16.51',239,'菜品介绍3',1,'2023-03-21 15:37:01','2023-03-21 15:37:01'),(4,'菜品名称4','1679384221199','upload/caipin4.jpg',3,104,'98.06',33,'菜品介绍4',1,'2023-03-21 15:37:01','2023-03-21 15:37:01'),(5,'菜品名称5','1679384221204','upload/caipin5.jpg',2,104,'210.52',402,'菜品介绍5',1,'2023-03-21 15:37:01','2023-03-21 15:37:01'),(6,'菜品名称6','1679384221199','upload/caipin6.jpg',4,106,'304.78',293,'菜品介绍6',1,'2023-03-21 15:37:01','2023-03-21 15:37:01'),(7,'菜品名称7','1679384221205','upload/caipin7.jpg',4,107,'91.19',313,'菜品介绍7',1,'2023-03-21 15:37:01','2023-03-21 15:37:01'),(8,'菜品名称8','1679384221204','upload/caipin8.jpg',1,108,'362.03',33,'菜品介绍8',1,'2023-03-21 15:37:01','2023-03-21 15:37:01'),(9,'菜品名称9','1679384221232','upload/caipin9.jpg',4,109,'476.64',39,'菜品介绍9',1,'2023-03-21 15:37:01','2023-03-21 15:37:01'),(10,'菜品名称10','1679384221157','upload/caipin10.jpg',3,1010,'448.01',127,'菜品介绍10',1,'2023-03-21 15:37:01','2023-03-21 15:37:01'),(11,'菜品名称11','1679384221180','upload/caipin11.jpg',1,1011,'266.65',261,'菜品介绍11',1,'2023-03-21 15:37:01','2023-03-21 15:37:01'),(12,'菜品名称12','1679384221197','upload/caipin12.jpg',4,1012,'271.67',94,'菜品介绍12',1,'2023-03-21 15:37:01','2023-03-21 15:37:01'),(13,'菜品名称13','1679384221245','upload/caipin13.jpg',4,1013,'106.38',54,'菜品介绍13',1,'2023-03-21 15:37:01','2023-03-21 15:37:01'),(14,'菜品名称14','1679384221154','upload/caipin14.jpg',2,1014,'219.71',146,'菜品介绍14',1,'2023-03-21 15:37:01','2023-03-21 15:37:01');

/*Table structure for table `caipin_collection` */

DROP TABLE IF EXISTS `caipin_collection`;

CREATE TABLE `caipin_collection` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `caipin_id` int(11) DEFAULT NULL COMMENT '菜品',
  `yonghu_id` int(11) DEFAULT NULL COMMENT '用户',
  `caipin_collection_types` int(11) DEFAULT NULL COMMENT '类型',
  `insert_time` timestamp NULL DEFAULT NULL COMMENT '收藏时间',
  `create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间 show3 photoShow',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8 COMMENT='菜品收藏';

/*Data for the table `caipin_collection` */

insert  into `caipin_collection`(`id`,`caipin_id`,`yonghu_id`,`caipin_collection_types`,`insert_time`,`create_time`) values (1,1,3,1,'2023-03-21 15:37:01','2023-03-21 15:37:01'),(2,2,2,1,'2023-03-21 15:37:01','2023-03-21 15:37:01'),(3,3,2,1,'2023-03-21 15:37:01','2023-03-21 15:37:01'),(4,4,2,1,'2023-03-21 15:37:01','2023-03-21 15:37:01'),(5,5,3,1,'2023-03-21 15:37:01','2023-03-21 15:37:01'),(6,6,2,1,'2023-03-21 15:37:01','2023-03-21 15:37:01'),(7,7,3,1,'2023-03-21 15:37:01','2023-03-21 15:37:01'),(8,8,2,1,'2023-03-21 15:37:01','2023-03-21 15:37:01'),(9,9,1,1,'2023-03-21 15:37:01','2023-03-21 15:37:01'),(10,10,2,1,'2023-03-21 15:37:01','2023-03-21 15:37:01'),(11,11,2,1,'2023-03-21 15:37:01','2023-03-21 15:37:01'),(12,12,1,1,'2023-03-21 15:37:01','2023-03-21 15:37:01'),(13,13,2,1,'2023-03-21 15:37:01','2023-03-21 15:37:01'),(14,14,1,1,'2023-03-21 15:37:01','2023-03-21 15:37:01');

/*Table structure for table `caipin_commentback` */

DROP TABLE IF EXISTS `caipin_commentback`;

CREATE TABLE `caipin_commentback` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `caipin_id` int(11) DEFAULT NULL COMMENT '菜品',
  `yonghu_id` int(11) DEFAULT NULL COMMENT '用户',
  `caipin_commentback_text` longtext COMMENT '评价内容',
  `insert_time` timestamp NULL DEFAULT NULL COMMENT '评价时间',
  `reply_text` longtext COMMENT '回复内容',
  `update_time` timestamp NULL DEFAULT NULL COMMENT '回复时间',
  `create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8 COMMENT='菜品评价';

/*Data for the table `caipin_commentback` */

insert  into `caipin_commentback`(`id`,`caipin_id`,`yonghu_id`,`caipin_commentback_text`,`insert_time`,`reply_text`,`update_time`,`create_time`) values (1,1,1,'评价内容1','2023-03-21 15:37:01','回复信息1','2023-03-21 15:37:01','2023-03-21 15:37:01'),(2,2,3,'评价内容2','2023-03-21 15:37:01','回复信息2','2023-03-21 15:37:01','2023-03-21 15:37:01'),(3,3,2,'评价内容3','2023-03-21 15:37:01','回复信息3','2023-03-21 15:37:01','2023-03-21 15:37:01'),(4,4,2,'评价内容4','2023-03-21 15:37:01','回复信息4','2023-03-21 15:37:01','2023-03-21 15:37:01'),(5,5,3,'评价内容5','2023-03-21 15:37:01','回复信息5','2023-03-21 15:37:01','2023-03-21 15:37:01'),(6,6,1,'评价内容6','2023-03-21 15:37:01','回复信息6','2023-03-21 15:37:01','2023-03-21 15:37:01'),(7,7,2,'评价内容7','2023-03-21 15:37:01','回复信息7','2023-03-21 15:37:01','2023-03-21 15:37:01'),(8,8,1,'评价内容8','2023-03-21 15:37:01','回复信息8','2023-03-21 15:37:01','2023-03-21 15:37:01'),(9,9,3,'评价内容9','2023-03-21 15:37:01','回复信息9','2023-03-21 15:37:01','2023-03-21 15:37:01'),(10,10,1,'评价内容10','2023-03-21 15:37:01','回复信息10','2023-03-21 15:37:01','2023-03-21 15:37:01'),(11,11,2,'评价内容11','2023-03-21 15:37:01','回复信息11','2023-03-21 15:37:01','2023-03-21 15:37:01'),(12,12,1,'评价内容12','2023-03-21 15:37:01','回复信息12','2023-03-21 15:37:01','2023-03-21 15:37:01'),(13,13,3,'评价内容13','2023-03-21 15:37:01','回复信息13','2023-03-21 15:37:01','2023-03-21 15:37:01'),(14,14,2,'评价内容14','2023-03-21 15:37:01','回复信息14','2023-03-21 15:37:01','2023-03-21 15:37:01'),(15,5,1,'16541','2023-03-21 16:21:55',NULL,NULL,'2023-03-21 16:21:55');

/*Table structure for table `caipin_order` */

DROP TABLE IF EXISTS `caipin_order`;

CREATE TABLE `caipin_order` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `caipin_order_uuid_number` varchar(200) DEFAULT NULL COMMENT '订单编号 Search111 ',
  `caipin_id` int(11) DEFAULT NULL COMMENT '菜品',
  `yonghu_id` int(11) DEFAULT NULL COMMENT '用户',
  `buy_number` int(11) DEFAULT NULL COMMENT '购买数量',
  `caipin_order_true_price` decimal(10,2) DEFAULT NULL COMMENT '实付价格',
  `caipin_order_types` int(11) DEFAULT NULL COMMENT '订单类型 Search111 ',
  `insert_time` timestamp NULL DEFAULT NULL COMMENT '订单创建时间',
  `create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间 show3 listShow',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COMMENT='菜品订单';

/*Data for the table `caipin_order` */

insert  into `caipin_order`(`id`,`caipin_order_uuid_number`,`caipin_id`,`yonghu_id`,`buy_number`,`caipin_order_true_price`,`caipin_order_types`,`insert_time`,`create_time`) values (1,'1679385426092',5,1,1,'210.52',102,'2023-03-21 15:57:06','2023-03-21 15:57:06'),(2,'1679386747291',5,1,1,'210.52',105,'2023-03-21 16:19:07','2023-03-21 16:19:07');

/*Table structure for table `config` */

DROP TABLE IF EXISTS `config`;

CREATE TABLE `config` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `name` varchar(100) NOT NULL COMMENT '配置参数名称',
  `value` varchar(100) DEFAULT NULL COMMENT '配置参数值',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='配置文件';

/*Data for the table `config` */

insert  into `config`(`id`,`name`,`value`) values (1,'轮播图1','upload/config1.jpg'),(2,'轮播图2','upload/config2.jpg'),(3,'轮播图3','upload/config3.jpg');

/*Table structure for table `dictionary` */

DROP TABLE IF EXISTS `dictionary`;

CREATE TABLE `dictionary` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `dic_code` varchar(200) DEFAULT NULL COMMENT '字段',
  `dic_name` varchar(200) DEFAULT NULL COMMENT '字段名',
  `code_index` int(11) DEFAULT NULL COMMENT '编码',
  `index_name` varchar(200) DEFAULT NULL COMMENT '编码名字  Search111 ',
  `super_id` int(11) DEFAULT NULL COMMENT '父字段id',
  `beizhu` varchar(200) DEFAULT NULL COMMENT '备注',
  `create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8 COMMENT='字典';

/*Data for the table `dictionary` */

insert  into `dictionary`(`id`,`dic_code`,`dic_name`,`code_index`,`index_name`,`super_id`,`beizhu`,`create_time`) values (1,'sex_types','性别类型',1,'男',NULL,NULL,'2023-03-21 15:36:04'),(2,'sex_types','性别类型',2,'女',NULL,NULL,'2023-03-21 15:36:04'),(3,'gonggao_types','公告类型',1,'公告类型1',NULL,NULL,'2023-03-21 15:36:04'),(4,'gonggao_types','公告类型',2,'公告类型2',NULL,NULL,'2023-03-21 15:36:04'),(5,'forum_state_types','帖子状态',1,'发帖',NULL,NULL,'2023-03-21 15:36:04'),(6,'forum_state_types','帖子状态',2,'回帖',NULL,NULL,'2023-03-21 15:36:04'),(7,'caipin_types','菜品类型',1,'菜品类型1',NULL,NULL,'2023-03-21 15:36:04'),(8,'caipin_types','菜品类型',2,'菜品类型2',NULL,NULL,'2023-03-21 15:36:04'),(9,'caipin_types','菜品类型',3,'菜品类型3',NULL,NULL,'2023-03-21 15:36:04'),(10,'caipin_types','菜品类型',4,'菜品类型4',NULL,NULL,'2023-03-21 15:36:04'),(11,'caipin_collection_types','收藏表类型',1,'收藏',NULL,NULL,'2023-03-21 15:36:04'),(12,'caipin_order_types','订单类型',101,'已支付',NULL,NULL,'2023-03-21 15:36:05'),(13,'caipin_order_types','订单类型',102,'已退款',NULL,NULL,'2023-03-21 15:36:05'),(14,'caipin_order_types','订单类型',103,'已取餐',NULL,NULL,'2023-03-21 15:36:05'),(15,'caipin_order_types','订单类型',104,'已用餐',NULL,NULL,'2023-03-21 15:36:05'),(16,'caipin_order_types','订单类型',105,'已评价',NULL,NULL,'2023-03-21 15:36:05');

/*Table structure for table `forum` */

DROP TABLE IF EXISTS `forum`;

CREATE TABLE `forum` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `forum_name` varchar(200) DEFAULT NULL COMMENT '帖子标题  Search111 ',
  `yonghu_id` int(11) DEFAULT NULL COMMENT '用户',
  `users_id` int(11) DEFAULT NULL COMMENT '管理员',
  `forum_content` text COMMENT '发布内容',
  `super_ids` int(11) DEFAULT NULL COMMENT '父id',
  `forum_state_types` int(11) DEFAULT NULL COMMENT '帖子状态',
  `insert_time` timestamp NULL DEFAULT NULL COMMENT '发帖时间',
  `update_time` timestamp NULL DEFAULT NULL COMMENT '修改时间',
  `create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间 show2',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8 COMMENT='论坛';

/*Data for the table `forum` */

insert  into `forum`(`id`,`forum_name`,`yonghu_id`,`users_id`,`forum_content`,`super_ids`,`forum_state_types`,`insert_time`,`update_time`,`create_time`) values (1,'帖子标题1',2,NULL,'发布内容1',451,1,'2023-03-21 15:37:01','2023-03-21 15:37:01','2023-03-21 15:37:01'),(2,'帖子标题2',3,NULL,'发布内容2',315,1,'2023-03-21 15:37:01','2023-03-21 15:37:01','2023-03-21 15:37:01'),(3,'帖子标题3',3,NULL,'发布内容3',412,1,'2023-03-21 15:37:01','2023-03-21 15:37:01','2023-03-21 15:37:01'),(4,'帖子标题4',3,NULL,'发布内容4',25,1,'2023-03-21 15:37:01','2023-03-21 15:37:01','2023-03-21 15:37:01'),(5,'帖子标题5',1,NULL,'发布内容5',267,1,'2023-03-21 15:37:01','2023-03-21 15:37:01','2023-03-21 15:37:01'),(6,'帖子标题6',3,NULL,'发布内容6',417,1,'2023-03-21 15:37:01','2023-03-21 15:37:01','2023-03-21 15:37:01'),(7,'帖子标题7',3,NULL,'发布内容7',459,1,'2023-03-21 15:37:01','2023-03-21 15:37:01','2023-03-21 15:37:01'),(8,'帖子标题8',2,NULL,'发布内容8',387,1,'2023-03-21 15:37:01','2023-03-21 15:37:01','2023-03-21 15:37:01'),(9,'帖子标题9',3,NULL,'发布内容9',67,1,'2023-03-21 15:37:01','2023-03-21 15:37:01','2023-03-21 15:37:01'),(10,'帖子标题10',2,NULL,'发布内容10',192,1,'2023-03-21 15:37:01','2023-03-21 15:37:01','2023-03-21 15:37:01'),(11,'帖子标题11',2,NULL,'发布内容11',300,1,'2023-03-21 15:37:01','2023-03-21 15:37:01','2023-03-21 15:37:01'),(12,'帖子标题12',1,NULL,'发布内容12',447,1,'2023-03-21 15:37:01','2023-03-21 15:37:01','2023-03-21 15:37:01'),(13,'帖子标题13',2,NULL,'发布内容13',112,1,'2023-03-21 15:37:01','2023-03-21 15:37:01','2023-03-21 15:37:01'),(14,'帖子标题14',3,NULL,'发布内容14',50,1,'2023-03-21 15:37:01','2023-03-21 15:37:01','2023-03-21 15:37:01'),(15,'忒咋',1,NULL,'<p>帖子</p>',NULL,1,'2023-03-21 16:19:25',NULL,'2023-03-21 16:19:25'),(16,NULL,NULL,1,'12651',15,2,'2023-03-21 16:22:15',NULL,'2023-03-21 16:22:15');

/*Table structure for table `gonggao` */

DROP TABLE IF EXISTS `gonggao`;

CREATE TABLE `gonggao` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键 ',
  `gonggao_name` varchar(200) DEFAULT NULL COMMENT '公告名称 Search111  ',
  `gonggao_photo` varchar(200) DEFAULT NULL COMMENT '公告图片 ',
  `gonggao_types` int(11) NOT NULL COMMENT '公告类型 Search111 ',
  `insert_time` timestamp NULL DEFAULT NULL COMMENT '公告发布时间 ',
  `gonggao_content` longtext COMMENT '公告详情 ',
  `create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间 show1 show2 nameShow',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8 COMMENT='公告';

/*Data for the table `gonggao` */

insert  into `gonggao`(`id`,`gonggao_name`,`gonggao_photo`,`gonggao_types`,`insert_time`,`gonggao_content`,`create_time`) values (1,'公告名称1','upload/gonggao1.jpg',2,'2023-03-21 15:37:01','公告详情1','2023-03-21 15:37:01'),(2,'公告名称2','upload/gonggao2.jpg',2,'2023-03-21 15:37:01','公告详情2','2023-03-21 15:37:01'),(3,'公告名称3','upload/gonggao3.jpg',2,'2023-03-21 15:37:01','公告详情3','2023-03-21 15:37:01'),(4,'公告名称4','upload/gonggao4.jpg',2,'2023-03-21 15:37:01','公告详情4','2023-03-21 15:37:01'),(5,'公告名称5','upload/gonggao5.jpg',2,'2023-03-21 15:37:01','公告详情5','2023-03-21 15:37:01'),(6,'公告名称6','upload/gonggao6.jpg',1,'2023-03-21 15:37:01','公告详情6','2023-03-21 15:37:01'),(7,'公告名称7','upload/gonggao7.jpg',2,'2023-03-21 15:37:01','公告详情7','2023-03-21 15:37:01'),(8,'公告名称8','upload/gonggao8.jpg',1,'2023-03-21 15:37:01','公告详情8','2023-03-21 15:37:01'),(9,'公告名称9','upload/gonggao9.jpg',2,'2023-03-21 15:37:01','公告详情9','2023-03-21 15:37:01'),(10,'公告名称10','upload/gonggao10.jpg',1,'2023-03-21 15:37:01','公告详情10','2023-03-21 15:37:01'),(11,'公告名称11','upload/gonggao11.jpg',1,'2023-03-21 15:37:01','公告详情11','2023-03-21 15:37:01'),(12,'公告名称12','upload/gonggao12.jpg',2,'2023-03-21 15:37:01','公告详情12','2023-03-21 15:37:01'),(13,'公告名称13','upload/gonggao13.jpg',1,'2023-03-21 15:37:01','公告详情13','2023-03-21 15:37:01'),(14,'公告名称14','upload/gonggao14.jpg',1,'2023-03-21 15:37:01','公告详情14','2023-03-21 15:37:01');

/*Table structure for table `token` */

DROP TABLE IF EXISTS `token`;

CREATE TABLE `token` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `userid` bigint(20) NOT NULL COMMENT '儿童id',
  `username` varchar(100) NOT NULL COMMENT '儿童名',
  `tablename` varchar(100) DEFAULT NULL COMMENT '表名',
  `role` varchar(100) DEFAULT NULL COMMENT '角色',
  `token` varchar(200) NOT NULL COMMENT '密码',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '新增时间',
  `expiratedtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '过期时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COMMENT='token表';

/*Data for the table `token` */

insert  into `token`(`id`,`userid`,`username`,`tablename`,`role`,`token`,`addtime`,`expiratedtime`) values (1,1,'a1','yonghu','用户','lggbjcrb6jg2tbbbmneqbft3q38cpl4n','2023-03-21 15:43:27','2023-03-21 17:18:23'),(2,1,'admin','users','管理员','srf34ienjwwuol8weqrbfkokwk7xuarn','2023-03-21 15:58:27','2023-03-21 18:10:27');

/*Table structure for table `users` */

DROP TABLE IF EXISTS `users`;

CREATE TABLE `users` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `username` varchar(100) NOT NULL COMMENT '儿童名',
  `password` varchar(100) NOT NULL COMMENT '密码',
  `role` varchar(100) DEFAULT '管理员' COMMENT '角色',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '新增时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='管理员';

/*Data for the table `users` */

insert  into `users`(`id`,`username`,`password`,`role`,`addtime`) values (1,'admin','admin','管理员','2023-03-21 15:36:04');

/*Table structure for table `yonghu` */

DROP TABLE IF EXISTS `yonghu`;

CREATE TABLE `yonghu` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `username` varchar(200) DEFAULT NULL COMMENT '账户',
  `password` varchar(200) DEFAULT NULL COMMENT '密码',
  `yonghu_name` varchar(200) DEFAULT NULL COMMENT '用户姓名 Search111 ',
  `yonghu_phone` varchar(200) DEFAULT NULL COMMENT '用户手机号',
  `yonghu_id_number` varchar(200) DEFAULT NULL COMMENT '用户身份证号',
  `yonghu_photo` varchar(200) DEFAULT NULL COMMENT '用户头像',
  `sex_types` int(11) DEFAULT NULL COMMENT '性别',
  `new_money` decimal(10,2) DEFAULT NULL COMMENT '余额 ',
  `yonghu_email` varchar(200) DEFAULT NULL COMMENT '用户邮箱',
  `create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COMMENT='用户';

/*Data for the table `yonghu` */

insert  into `yonghu`(`id`,`username`,`password`,`yonghu_name`,`yonghu_phone`,`yonghu_id_number`,`yonghu_photo`,`sex_types`,`new_money`,`yonghu_email`,`create_time`) values (1,'a1','123456','用户姓名1','17703786901','410224199010102001','upload/yonghu1.jpg',2,'623.51','1@qq.com','2023-03-21 15:37:01'),(2,'a2','123456','用户姓名2','17703786902','410224199010102002','upload/yonghu2.jpg',1,'527.35','2@qq.com','2023-03-21 15:37:01'),(3,'a3','123456','用户姓名3','17703786903','410224199010102003','upload/yonghu3.jpg',1,'696.15','3@qq.com','2023-03-21 15:37:01');

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

五.关键代码

package com.controller;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.TokenEntity;
import com.entity.UserEntity;
import com.service.TokenService;
import com.service.UserService;
import com.utils.CommonUtil;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.ValidatorUtils;

/**
 * 登录相关
 */
@RequestMapping("users")
@RestController
public class UserController{
	
	@Autowired
	private UserService userService;
	
	@Autowired
	private TokenService tokenService;

	/**
	 * 登录
	 */
	@IgnoreAuth
	@PostMapping(value = "/login")
	public R login(String username, String password, String captcha, HttpServletRequest request) {
		UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
		if(user==null || !user.getPassword().equals(password)) {
			return R.error("账号或密码不正确");
		}
		String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
		return R.ok().put("token", token);
	}
	
	/**
	 * 注册
	 */
	@IgnoreAuth
	@PostMapping(value = "/register")
	public R register(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }

	/**
	 * 退出
	 */
	@GetMapping(value = "logout")
	public R logout(HttpServletRequest request) {
		request.getSession().invalidate();
		return R.ok("退出成功");
	}
	
	/**
     * 密码重置
     */
    @IgnoreAuth
	@RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
    	UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
    	if(user==null) {
    		return R.error("账号不存在");
    	}
    	user.setPassword("123456");
        userService.update(user,null);
        return R.ok("密码已重置为:123456");
    }
	
	/**
     * 列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,UserEntity user){
        EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
    	PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/list")
    public R list( UserEntity user){
       	EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
      	ew.allEq(MPUtil.allEQMapPre( user, "user")); 
        return R.ok().put("data", userService.selectListView(ew));
    }

    /**
     * 信息
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") String id){
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }
    
    /**
     * 获取用户的session用户信息
     */
    @RequestMapping("/session")
    public R getCurrUser(HttpServletRequest request){
    	Long id = (Long)request.getSession().getAttribute("userId");
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }

    /**
     * 保存
     */
    @PostMapping("/save")
    public R save(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody UserEntity user){
//        ValidatorUtils.validateEntity(user);
    	UserEntity u = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername()));
    	if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) {
    		return R.error("用户名已存在。");
    	}
        userService.updateById(user);//全部更新
        return R.ok();
    }

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        userService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
}

六.论文目录参考

七.源码获取

感谢大家的阅读,如有不懂的问题可以评论区交流或私聊!

喜欢文章可以点赞、收藏、关注、评论啦 、👇🏻获取源码+V:jsjbysj88👇🏻

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1062846.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++设计模式-生成器(Builder)

目录 C设计模式-生成器&#xff08;Builder&#xff09; 一、意图 二、适用性 三、结构 四、参与者 五、代码 C设计模式-生成器&#xff08;Builder&#xff09; 一、意图 将一个复杂对象的构建与它的表示分离&#xff0c;使得同样的构建过程可以创建不同的表示。 二、…

全志ARM926 Melis2.0系统的开发指引⑤

全志ARM926 Melis2.0系统的开发指引⑤ 编写目的8. 固件修改工具(ImageModify)使用8.1.界面说明8.2.操作步骤8.2.1. 配置平台8.2.2. 选择固件8.2.3. 选择要替换的文件8.2.4. 替换文件8.2.5. 保存固件 8.3.注意事项8.4.增加固件修改权限设置8.4.1. 概述8.4.2. 操作说明8.4.2.1.打…

字符串函数的模拟实现

引言&#xff1a;对于字符串来说&#xff0c;我们通常想要对其完成各种各样的目的&#xff0c;不管是排序还是查找都是最普遍的功能&#xff0c;而我们的C语言中也包含着一系列函数是为了实现对字符串的一些功能&#xff0c;今天我们就来介绍他们。 strlen函数&#xff1a; 求字…

基于SpringBoot的车辆管理系统

目录 前言 一、技术栈 二、系统功能介绍 员工信息管理 证件信息管理 车辆信息管理 事故登记管理 事故登记 保养登记 违章登记 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实…

C++设计模式-原型(Prototype)

目录 C设计模式-原型&#xff08;Prototype&#xff09; 一、意图 二、适用性 三、结构 四、参与者 五、代码 C设计模式-原型&#xff08;Prototype&#xff09; 一、意图 用原型实例指定创建对象的种类&#xff0c;并且通过拷贝这些原型创建新的对象。 二、适用性 当…

@ConfigurationProperties配置绑定~

ConfigurationProperties注解是Spring Boot中的一个注解&#xff0c;用于将配置文件中的属性值绑定到Java类中的字段上。 ConfigurationProperties注解的作用包括&#xff1a; 实现配置文件属性和Java类字段的映射&#xff0c;简化了读取配置文件的操作。 可以指定配置文件中…

1.3.OpenCV技能树--第一单元--图像的基础操作(基础篇)

文章目录 1.文章内容来源2.图像的基本操作2.1.图像加载2.2.图像显示2.3.数据读取2.4.截取图像2.5.颜色通道提取2.5.1.保留红色处理2.5.2.保留绿色处理2.5.3.保留蓝色处理 3.易错点总结与反思 1.文章内容来源 1.题目来源: 2.资料来源:https://edu.csdn.net/skill/opencv/opencv…

ALSA pcm接口的概念解释

PCM(数字音频)接口 PCM缩写: Pulse Code Modulation脉冲调制编码,我们理解为通过一定连续时间周期产生数字音频并带有音量样本的处理过程. 模拟信号被记录通过模拟到数字转换器,数字值(也就是某个特定时刻的音量值)获得来自ADC可以进一步处理,接下的图片展示的是个sine wavefor…

【BBC新闻文章分类】使用 TF 2.0和 LSTM 的文本分类

一、说明 NLP上的许多创新是如何将上下文添加到词向量中。常见的方法之一是使用递归神经网络

【user_key_payload、msg_msg、pipe_buffer】再探RWCTF2023-Digging-into-kernel-3

前言 在之前的文章中&#xff0c;我利用 ldt_struct 去泄漏的内核基地址&#xff0c;但是在内核中还存在着一些结构体可以去泄漏内核基地址。 user_key_payload 越界读泄漏内核基地址 本题并没有开启 slab_freelist_random 保护&#xff0c;并且可以可以同时控制两个堆块&am…

[图论]哈尔滨工业大学(哈工大 HIT)学习笔记16-22

视频来源&#xff1a;2.7.1 补图_哔哩哔哩_bilibili 目录 1. 补图 1.1. 补图 2. 双图 2.1. 双图定理 3. 图兰定理/托兰定理 4. 极图理论 5. 欧拉图 5.1. 欧拉迹 5.2. 欧拉闭迹 5.3. 欧拉图 5.4. 欧拉定理 5.5. 伪图 1. 补图 1.1. 补图 &#xff08;1&#xff09;…

使用图形视图框架(Graphics View Framework)在QML中创建交互式图形界面

使用图形视图框架(Graphics View Framework)在QML中创建交互式图形界面 使用图形视图框架(Graphics View Framework)在QML中创建交互式图形界面 使用图形视图框架(Graphics View Framework)在QML中创建交互式图形界面什么是图形视图框架(Graphics View Framework)&#xff1f;…

MATLAB算法实战应用案例精讲-【优化算法】沙丁鱼优化算法(SOA)(附MATLAB代码实现)

前言 沙丁鱼优化算法(Sardine optimization algorithm,SOA)由Zhang HongGuang等人于2023年提出,该算法模拟沙丁鱼的生存策略,具有搜索能力强,求解精度高等特点。 沙丁鱼主要以浮游生物为食,这些生物包括细菌、腔肠动物、软体动物、原生动物、十足目、幼小藤壶、鱼卵、甲藻…

cartographer-(0)-ubuntu(20.04)-环境安装

1.安装 ROS wiki.ros.org 1.1修改镜像源&#xff1a; 到网站上找与操作系统相匹配的镜像源 ubuntu | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror # 默认注释了源码镜像以提高 apt update 速度&#xff0c;如有需要可自行取消注释 deb htt…

MySQL基础-事务

目录 1.事务简介 2.事务的操作 2.1 实验需要用到的数据 2.2 完成转账操作 修改事务执行方式 手动开启事务的方式 3.事务的四大特性 4.并发事务问题 1.事务简介 事务是一组操作的集合&#xff0c;它是一个不可分割的工作单位&#xff0c;事务会把所有的操作作为一个整体一…

【开发篇】十五、Spring Task实现定时任务

文章目录 1、使用示例2、相关配置3、Scheduled注解4、Spring Task单线程下的阻塞坑5、Spring Task阻塞问题的处理思路6、Spring Task在分布式环境中 上一篇用Quartz来实现了定时任务&#xff0c;但相对来说&#xff0c;这个框架还是比较繁琐。Spring Boot默认在无任何第三方依赖…

一天销量200万,国产5G手机20天才200万,挑战iPhone也就想想罢了

国产5G手机频频放话要挑战iPhone&#xff0c;不过现实却相当打脸&#xff0c;果粉对苹果的忠诚丝毫没有受到影响&#xff0c;销量是最直接的表现&#xff0c;那就是国产5G手机20天才卖出200万部&#xff0c;而这仅仅是iPhone15一天的销量。 iPhone15在发布前曾拉高了消费者的期…

【应用层协议】初始Http,fiddler的使用

文章目录 1. HTTP概念2. 下载fiddler及使用获得HTTP协议格式2.1 fiddler的下载2.2 fiddler使用 3. HTTP请求&#xff08;Request&#xff09;3.1 请求行3.1.1 URL3.1.2 方法3.1.2.1 GET3.1.2.2 POST3.1.2.3 其他方法 3.2 报头&#xff08;header&#xff09;3.3 空白行3.4 正文…

Django 模型层的操作(Django-05 )

一 模型层的解读 Django中内嵌了ORM框架&#xff0c;不需要直接编写SQL语句进行数据库操作&#xff0c;而是通过定义模型类&#xff0c;操作模型类来完成对数据库中表的增删改查和创建等操作。 O 是object&#xff0c;也就类对象的意思。R 是relation&#xff0c;翻译成中文是…

Python综合案例:学生管理系统

目录 需求说明&#xff1a; 功能&#xff1a; 创建入口函数&#xff1a; 实现菜单函数&#xff1a; 实现增删查操作&#xff1a; 1. 新增学生 2. 展示学生 3. 查找学生 4. 删除学生 加入存档读档&#xff1a; 1. 约定存档格式 2. 实现存档函数 3. 实现读档函数 打…