基于Java+SpringBoot+Vue+echarts健身房管理系统设计和实现

news2024/11/26 10:51:03

博主介绍全网粉丝30W+,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战

🍅文末获取源码联系🍅

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

2022-2024年最全的计算机软件毕业设计选题大全:1000个热门选题推荐✅

Java项目精品实战案例《100套》

Java微信小程序项目实战《100套》

目录

一、 前言介绍:

二 、功能设计:

三、功截截图:

四、库表设计:

五、关键代码:

六、论文参考:

七、其他案例: 

八、源码获取:


一、 前言介绍:

        大数据时代下,数据呈爆炸式地增长。为了迎合信息化时代的潮流和信息化安全的要求,利用互联网服务于其他行业,促进生产,已经是成为一种势不可挡的趋势。在健身房管理的要求下,开发一款整体式结构的健身房管理系统,将复杂的系统进行拆分,能够实现对需求的变化快速响应、系统稳定性的保障,能保证平台可持续、规模化发展的要求。

本系统的前端界面涉及的技术主要有Java,bootstrap  freemarker等等,通过这些技术可以实现前端页面的美观和动态效果使之符合广大群众的审美观,后台主要使用的技术主要有Java编程语言,MySQL数据库,JSP和Ajax异步交互,根据Ajax异步模式的健身房管理系统解决了传统管理方式所带来的人力、物力和时间上的虚耗和交流深度的限定,这让交流的过程更快捷、准确、便利,同时完成健身房管理系统的基本功能:首页、轮播图、公告、资源管理(健身资讯、资讯分类)系统用户(管理员、会员用户、教练用户)模块管理(课程类别、公共课程、私教课程、购买私教、会员卡信息、遗失物品、健身器械、商品信息、购买商品)

二 、功能设计:

根据用户对系统的需求,要求系统简单操作,能够准确,完整的对信息进行管理。健身房管理系统在对需求做解析后,整个系统主要分为两个部分:管理员和普通用户,每个模块下的分支功能不一样。对功能做出如下说明:

管理员模块:首页、轮播图、公告、资源管理(健身资讯、资讯分类)系统用户(管理员、会员用户、教练用户)模块管理(课程类别、公共课程、私教课程、购买私教、会员卡信息、遗失物品、健身器械、商品信息、购买商品)。

用户模块:首页、购买私教、会员卡信息、购买商品。

教练模块:首页、公共课程、私教课程、购买私教

 管理员用例图

系统顶层数据流:外部实体为用户,第一个流程为登录验证,用户信息表返回密码验证,是否正确,正确则登录系统,错误则评论信息,登录系统后,根据不同用户的功能选择,来读写数据库。

系统底层数据流如下图所示。

图3-5系统底层数据流图

系统功能结构图如下所示。

三、功截截图:

 

 

 

四、库表设计:

/*
Navicat MySQL Data Transfer

Source Server         : localhost
Source Server Version : 50727
Source Host           : localhost:3306
Source Database       : cs_54933

Target Server Type    : MYSQL
Target Server Version : 50727
File Encoding         : 65001

Date: 2023-07-25 07:33:51
*/

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for access_token
-- ----------------------------
DROP TABLE IF EXISTS `access_token`;
CREATE TABLE `access_token` (
  `token_id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '临时访问牌ID',
  `token` varchar(64) DEFAULT NULL COMMENT '临时访问牌',
  `info` text,
  `maxage` int(2) NOT NULL DEFAULT '2' COMMENT '最大寿命:默认2小时',
  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间:',
  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间:',
  `user_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '用户编号:',
  PRIMARY KEY (`token_id`) USING BTREE
) ENGINE=MyISAM AUTO_INCREMENT=105 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='登陆访问时长';

-- ----------------------------
-- Table structure for article
-- ----------------------------
DROP TABLE IF EXISTS `article`;
CREATE TABLE `article` (
  `article_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT COMMENT '文章id:[0,8388607]',
  `title` varchar(125) NOT NULL DEFAULT '' COMMENT '标题:[0,125]用于文章和html的title标签中',
  `type` varchar(64) NOT NULL DEFAULT '0' COMMENT '文章分类:[0,1000]用来搜索指定类型的文章',
  `hits` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '点击数:[0,1000000000]访问这篇文章的人次',
  `praise_len` int(11) NOT NULL DEFAULT '0' COMMENT '点赞数',
  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间:',
  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间:',
  `source` varchar(255) DEFAULT NULL COMMENT '来源:[0,255]文章的出处',
  `url` varchar(255) DEFAULT NULL COMMENT '来源地址:[0,255]用于跳转到发布该文章的网站',
  `tag` varchar(255) DEFAULT NULL COMMENT '标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开',
  `content` longtext COMMENT '正文:文章的主体内容',
  `img` varchar(255) DEFAULT NULL COMMENT '封面图',
  `description` text COMMENT '文章描述',
  PRIMARY KEY (`article_id`,`title`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='文章:用于内容管理系统的文章';

-- ----------------------------
-- Table structure for article_type
-- ----------------------------
DROP TABLE IF EXISTS `article_type`;
CREATE TABLE `article_type` (
  `type_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT COMMENT '分类ID:[0,10000]',
  `display` smallint(4) unsigned NOT NULL DEFAULT '100' COMMENT '显示顺序:[0,1000]决定分类显示的先后顺序',
  `name` varchar(16) NOT NULL DEFAULT '' COMMENT '分类名称:[2,16]',
  `father_id` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT '上级分类ID:[0,32767]',
  `description` varchar(255) DEFAULT NULL COMMENT '描述:[0,255]描述该分类的作用',
  `icon` text COMMENT '分类图标:',
  `url` varchar(255) DEFAULT NULL COMMENT '外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置',
  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间:',
  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间:',
  PRIMARY KEY (`type_id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='文章分类';

-- ----------------------------
-- Table structure for auth
-- ----------------------------
DROP TABLE IF EXISTS `auth`;
CREATE TABLE `auth` (
  `auth_id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '授权ID:',
  `user_group` varchar(64) DEFAULT NULL COMMENT '用户组:',
  `mod_name` varchar(64) DEFAULT NULL COMMENT '模块名:',
  `table_name` varchar(64) DEFAULT NULL COMMENT '表名:',
  `page_title` varchar(255) DEFAULT NULL COMMENT '页面标题:',
  `path` varchar(255) DEFAULT NULL COMMENT '路由路径:',
  `position` varchar(32) DEFAULT NULL COMMENT '位置:',
  `mode` varchar(32) NOT NULL DEFAULT '_blank' COMMENT '跳转方式:',
  `add` tinyint(1) unsigned NOT NULL DEFAULT '1' COMMENT '是否可增加:',
  `del` tinyint(1) unsigned NOT NULL DEFAULT '1' COMMENT '是否可删除:',
  `set` tinyint(1) unsigned NOT NULL DEFAULT '1' COMMENT '是否可修改:',
  `get` tinyint(1) unsigned NOT NULL DEFAULT '1' COMMENT '是否可查看:',
  `field_add` text COMMENT '添加字段:',
  `field_set` text COMMENT '修改字段:',
  `field_get` text COMMENT '查询字段:',
  `table_nav_name` varchar(500) DEFAULT NULL COMMENT '跨表导航名称:',
  `table_nav` varchar(500) DEFAULT NULL COMMENT '跨表导航:',
  `option` text COMMENT '配置:',
  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间:',
  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间:',
  PRIMARY KEY (`auth_id`) USING BTREE
) ENGINE=MyISAM AUTO_INCREMENT=197 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='用户权限管理';

-- ----------------------------
-- Table structure for coach_user
-- ----------------------------
DROP TABLE IF EXISTS `coach_user`;
CREATE TABLE `coach_user` (
  `coach_user_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '教练用户ID',
  `coach_no` varchar(64) NOT NULL COMMENT '教练编号',
  `coach_name` varchar(64) DEFAULT NULL COMMENT '教练姓名',
  `examine_state` varchar(16) NOT NULL DEFAULT '已通过' COMMENT '审核状态',
  `recommend` int(11) NOT NULL DEFAULT '0' COMMENT '智能推荐',
  `user_id` int(11) NOT NULL DEFAULT '0' COMMENT '用户ID',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`coach_user_id`),
  UNIQUE KEY `coach_no` (`coach_no`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='教练用户';

-- ----------------------------
-- Table structure for collect
-- ----------------------------
DROP TABLE IF EXISTS `collect`;
CREATE TABLE `collect` (
  `collect_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '收藏ID:',
  `user_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '收藏人ID:',
  `source_table` varchar(255) DEFAULT NULL COMMENT '来源表:',
  `source_field` varchar(255) DEFAULT NULL COMMENT '来源字段:',
  `source_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '来源ID:',
  `title` varchar(255) DEFAULT NULL COMMENT '标题:',
  `img` varchar(255) DEFAULT NULL COMMENT '封面:',
  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间:',
  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间:',
  PRIMARY KEY (`collect_id`) USING BTREE
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='收藏';

-- ----------------------------
-- Table structure for comment
-- ----------------------------
DROP TABLE IF EXISTS `comment`;
CREATE TABLE `comment` (
  `comment_id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '评论ID:',
  `user_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '评论人ID:',
  `reply_to_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '回复评论ID:空为0',
  `content` longtext COMMENT '内容:',
  `nickname` varchar(255) DEFAULT NULL COMMENT '昵称:',
  `avatar` varchar(255) DEFAULT NULL COMMENT '头像地址:[0,255]',
  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间:',
  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间:',
  `source_table` varchar(255) DEFAULT NULL COMMENT '来源表:',
  `source_field` varchar(255) DEFAULT NULL COMMENT '来源字段:',
  `source_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '来源ID:',
  PRIMARY KEY (`comment_id`) USING BTREE
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='评论';

-- ----------------------------
-- Table structure for course_category
-- ----------------------------
DROP TABLE IF EXISTS `course_category`;
CREATE TABLE `course_category` (
  `course_category_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '课程类别ID',
  `course_category` varchar(64) DEFAULT NULL COMMENT '课程类别',
  `recommend` int(11) NOT NULL DEFAULT '0' COMMENT '智能推荐',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`course_category_id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 COMMENT='课程类别';

-- ----------------------------
-- Table structure for fitness_equipment
-- ----------------------------
DROP TABLE IF EXISTS `fitness_equipment`;
CREATE TABLE `fitness_equipment` (
  `fitness_equipment_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '健身器械ID',
  `device_no` varchar(64) DEFAULT NULL COMMENT '器械编号',
  `device_name` varchar(64) DEFAULT NULL COMMENT '器械名称',
  `picture` varchar(255) DEFAULT NULL COMMENT '图片',
  `device_status` varchar(64) DEFAULT NULL COMMENT '器械状态',
  `device_description` text COMMENT '器械说明',
  `details` longtext COMMENT '详情',
  `hits` int(11) NOT NULL DEFAULT '0' COMMENT '点击数',
  `praise_len` int(11) NOT NULL DEFAULT '0' COMMENT '点赞数',
  `recommend` int(11) NOT NULL DEFAULT '0' COMMENT '智能推荐',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`fitness_equipment_id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 COMMENT='健身器械';

-- ----------------------------
-- Table structure for hits
-- ----------------------------
DROP TABLE IF EXISTS `hits`;
CREATE TABLE `hits` (
  `hits_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '点赞ID:',
  `user_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '点赞人:',
  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间:',
  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间:',
  `source_table` varchar(255) CHARACTER SET utf8 DEFAULT NULL COMMENT '来源表:',
  `source_field` varchar(255) CHARACTER SET utf8 DEFAULT NULL COMMENT '来源字段:',
  `source_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '来源ID:',
  PRIMARY KEY (`hits_id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC COMMENT='用户点击';

-- ----------------------------
-- Table structure for lost_items
-- ----------------------------
DROP TABLE IF EXISTS `lost_items`;
CREATE TABLE `lost_items` (
  `lost_items_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '遗失物品ID',
  `serial_number` varchar(64) DEFAULT NULL COMMENT '物品编号',
  `item_name` varchar(64) DEFAULT NULL COMMENT '物品名称',
  `pickup_date` date DEFAULT NULL COMMENT '捡到日期',
  `pick_up_the_place` varchar(64) DEFAULT NULL COMMENT '捡到地点',
  `state` varchar(64) DEFAULT NULL COMMENT '状态',
  `hits` int(11) NOT NULL DEFAULT '0' COMMENT '点击数',
  `praise_len` int(11) NOT NULL DEFAULT '0' COMMENT '点赞数',
  `recommend` int(11) NOT NULL DEFAULT '0' COMMENT '智能推荐',
  `timer_title` varchar(64) DEFAULT NULL COMMENT '计时器标题',
  `timing_start_time` datetime DEFAULT NULL COMMENT '计时开始时间',
  `timing_end_time` datetime DEFAULT NULL COMMENT '计时结束时间',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`lost_items_id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 COMMENT='遗失物品';

-- ----------------------------
-- Table structure for membership_card_information
-- ----------------------------
DROP TABLE IF EXISTS `membership_card_information`;
CREATE TABLE `membership_card_information` (
  `membership_card_information_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '会员卡信息ID',
  `member_number` int(11) DEFAULT '0' COMMENT '会员编号',
  `member_name` varchar(64) DEFAULT NULL COMMENT '会员姓名',
  `membership_card_number` varchar(64) DEFAULT NULL COMMENT '会员卡号',
  `membership_card_type` varchar(64) DEFAULT NULL COMMENT '会员卡类型',
  `price` varchar(64) DEFAULT NULL COMMENT '价格',
  `card_handling_time` date DEFAULT NULL COMMENT '办卡时间',
  `expiration_time` date DEFAULT NULL COMMENT '到期时间',
  `recommend` int(11) NOT NULL DEFAULT '0' COMMENT '智能推荐',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`membership_card_information_id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 COMMENT='会员卡信息';

-- ----------------------------
-- Table structure for member_users
-- ----------------------------
DROP TABLE IF EXISTS `member_users`;
CREATE TABLE `member_users` (
  `member_users_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '会员用户ID',
  `member_no` varchar(64) NOT NULL COMMENT '会员编号',
  `member_name` varchar(64) DEFAULT NULL COMMENT '会员姓名',
  `examine_state` varchar(16) NOT NULL DEFAULT '已通过' COMMENT '审核状态',
  `recommend` int(11) NOT NULL DEFAULT '0' COMMENT '智能推荐',
  `user_id` int(11) NOT NULL DEFAULT '0' COMMENT '用户ID',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`member_users_id`),
  UNIQUE KEY `member_no` (`member_no`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='会员用户';

-- ----------------------------
-- Table structure for notice
-- ----------------------------
DROP TABLE IF EXISTS `notice`;
CREATE TABLE `notice` (
  `notice_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT COMMENT '公告id:',
  `title` varchar(125) NOT NULL DEFAULT '' COMMENT '标题:',
  `content` longtext COMMENT '正文:',
  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间:',
  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间:',
  PRIMARY KEY (`notice_id`) USING BTREE
) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='公告';

-- ----------------------------
-- Table structure for praise
-- ----------------------------
DROP TABLE IF EXISTS `praise`;
CREATE TABLE `praise` (
  `praise_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '点赞ID:',
  `user_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '点赞人:',
  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间:',
  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间:',
  `source_table` varchar(255) DEFAULT NULL COMMENT '来源表:',
  `source_field` varchar(255) DEFAULT NULL COMMENT '来源字段:',
  `source_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '来源ID:',
  `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '点赞状态:1为点赞,0已取消',
  PRIMARY KEY (`praise_id`) USING BTREE
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='点赞';

-- ----------------------------
-- Table structure for private_education_courses
-- ----------------------------
DROP TABLE IF EXISTS `private_education_courses`;
CREATE TABLE `private_education_courses` (
  `private_education_courses_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '私教课程ID',
  `coach_no` int(11) DEFAULT '0' COMMENT '教练编号',
  `coach_name` varchar(64) DEFAULT NULL COMMENT '教练姓名',
  `course_no` varchar(64) DEFAULT NULL COMMENT '课程编号',
  `course_name` varchar(64) DEFAULT NULL COMMENT '课程名称',
  `course_classification` varchar(64) DEFAULT NULL COMMENT '课程分类',
  `course_price` int(11) DEFAULT '0' COMMENT '课程价格',
  `course_time` varchar(64) DEFAULT NULL COMMENT '课程时间',
  `number_of_class_hours` varchar(64) DEFAULT NULL COMMENT '课时数量',
  `fitness_location` varchar(64) DEFAULT NULL COMMENT '健身地点',
  `picture` varchar(255) DEFAULT NULL COMMENT '图片',
  `fitness_points` text COMMENT '健身要点',
  `course_content` text COMMENT '课程内容',
  `hits` int(11) NOT NULL DEFAULT '0' COMMENT '点击数',
  `praise_len` int(11) NOT NULL DEFAULT '0' COMMENT '点赞数',
  `recommend` int(11) NOT NULL DEFAULT '0' COMMENT '智能推荐',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`private_education_courses_id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 COMMENT='私教课程';

-- ----------------------------
-- Table structure for product_information
-- ----------------------------
DROP TABLE IF EXISTS `product_information`;
CREATE TABLE `product_information` (
  `product_information_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '商品信息ID',
  `article_no` varchar(64) DEFAULT NULL COMMENT '商品编号',
  `trade_name` varchar(64) DEFAULT NULL COMMENT '商品名称',
  `picture` varchar(255) DEFAULT NULL COMMENT '图片',
  `brand` varchar(64) DEFAULT NULL COMMENT '品牌',
  `specifications` varchar(64) DEFAULT NULL COMMENT '规格',
  `price` int(11) DEFAULT '0' COMMENT '价格',
  `details` longtext COMMENT '详情',
  `hits` int(11) NOT NULL DEFAULT '0' COMMENT '点击数',
  `praise_len` int(11) NOT NULL DEFAULT '0' COMMENT '点赞数',
  `recommend` int(11) NOT NULL DEFAULT '0' COMMENT '智能推荐',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`product_information_id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 COMMENT='商品信息';

-- ----------------------------
-- Table structure for public_courses
-- ----------------------------
DROP TABLE IF EXISTS `public_courses`;
CREATE TABLE `public_courses` (
  `public_courses_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '公共课程ID',
  `coach_no` int(11) DEFAULT '0' COMMENT '教练编号',
  `coach_name` varchar(64) DEFAULT NULL COMMENT '教练姓名',
  `course_no` varchar(64) DEFAULT NULL COMMENT '课程编号',
  `course_name` varchar(64) DEFAULT NULL COMMENT '课程名称',
  `course_category` varchar(64) DEFAULT NULL COMMENT '课程类别',
  `course_price` int(11) DEFAULT '0' COMMENT '课程价格',
  `course_time` varchar(64) DEFAULT NULL COMMENT '课程时间',
  `fitness_location` varchar(64) DEFAULT NULL COMMENT '健身地点',
  `picture` varchar(255) DEFAULT NULL COMMENT '图片',
  `course_content` text COMMENT '课程内容',
  `hits` int(11) NOT NULL DEFAULT '0' COMMENT '点击数',
  `praise_len` int(11) NOT NULL DEFAULT '0' COMMENT '点赞数',
  `recommend` int(11) NOT NULL DEFAULT '0' COMMENT '智能推荐',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`public_courses_id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 COMMENT='公共课程';

-- ----------------------------
-- Table structure for purchase_goods
-- ----------------------------
DROP TABLE IF EXISTS `purchase_goods`;
CREATE TABLE `purchase_goods` (
  `purchase_goods_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '购买商品ID',
  `order_number` varchar(64) DEFAULT NULL COMMENT '订单号',
  `article_no` varchar(64) DEFAULT NULL COMMENT '商品编号',
  `trade_name` varchar(64) DEFAULT NULL COMMENT '商品名称',
  `brand` varchar(64) DEFAULT NULL COMMENT '品牌',
  `specifications` varchar(64) DEFAULT NULL COMMENT '规格',
  `price` varchar(64) DEFAULT NULL COMMENT '价格',
  `member` int(11) DEFAULT '0' COMMENT '会员',
  `member_name` varchar(64) DEFAULT NULL COMMENT '会员姓名',
  `purchase_quantity` varchar(64) DEFAULT NULL COMMENT '购买数量',
  `total_price` varchar(64) DEFAULT NULL COMMENT '总价',
  `pay_state` varchar(16) NOT NULL DEFAULT '未支付' COMMENT '支付状态',
  `pay_type` varchar(16) DEFAULT '' COMMENT '支付类型: 微信、支付宝、网银',
  `recommend` int(11) NOT NULL DEFAULT '0' COMMENT '智能推荐',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`purchase_goods_id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 COMMENT='购买商品';

-- ----------------------------
-- Table structure for purchase_private_education
-- ----------------------------
DROP TABLE IF EXISTS `purchase_private_education`;
CREATE TABLE `purchase_private_education` (
  `purchase_private_education_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '购买私教ID',
  `order_number` varchar(64) DEFAULT NULL COMMENT '订单号',
  `coach_no` int(11) DEFAULT '0' COMMENT '教练编号',
  `coach_name` varchar(64) DEFAULT NULL COMMENT '教练姓名',
  `course_no` varchar(64) DEFAULT NULL COMMENT '课程编号',
  `course_name` varchar(64) DEFAULT NULL COMMENT '课程名称',
  `course_classification` varchar(64) DEFAULT NULL COMMENT '课程分类',
  `course_price` varchar(64) DEFAULT NULL COMMENT '课程价格',
  `course_time` varchar(64) DEFAULT NULL COMMENT '课程时间',
  `member` int(11) DEFAULT '0' COMMENT '会员',
  `member_name` varchar(64) DEFAULT NULL COMMENT '会员姓名',
  `time_of_appointment` datetime DEFAULT NULL COMMENT '预约时间',
  `examine_state` varchar(16) NOT NULL DEFAULT '未审核' COMMENT '审核状态',
  `examine_reply` varchar(16) DEFAULT '' COMMENT '审核回复',
  `pay_state` varchar(16) NOT NULL DEFAULT '未支付' COMMENT '支付状态',
  `pay_type` varchar(16) DEFAULT '' COMMENT '支付类型: 微信、支付宝、网银',
  `recommend` int(11) NOT NULL DEFAULT '0' COMMENT '智能推荐',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`purchase_private_education_id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 COMMENT='购买私教';

-- ----------------------------
-- Table structure for slides
-- ----------------------------
DROP TABLE IF EXISTS `slides`;
CREATE TABLE `slides` (
  `slides_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '轮播图ID:',
  `title` varchar(64) DEFAULT NULL COMMENT '标题:',
  `content` varchar(255) DEFAULT NULL COMMENT '内容:',
  `url` varchar(255) DEFAULT NULL COMMENT '链接:',
  `img` varchar(255) DEFAULT NULL COMMENT '轮播图:',
  `hits` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '点击量:',
  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间:',
  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间:',
  PRIMARY KEY (`slides_id`) USING BTREE
) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='轮播图';

-- ----------------------------
-- Table structure for upload
-- ----------------------------
DROP TABLE IF EXISTS `upload`;
CREATE TABLE `upload` (
  `upload_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '上传ID',
  `name` varchar(64) DEFAULT NULL COMMENT '文件名',
  `path` varchar(255) DEFAULT NULL COMMENT '访问路径',
  `file` varchar(255) DEFAULT NULL COMMENT '文件路径',
  `display` varchar(255) DEFAULT NULL COMMENT '显示顺序',
  `father_id` int(11) DEFAULT '0' COMMENT '父级ID',
  `dir` varchar(255) DEFAULT NULL COMMENT '文件夹',
  `type` varchar(32) DEFAULT NULL COMMENT '文件类型',
  PRIMARY KEY (`upload_id`) USING BTREE
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='文件上传';

-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
  `user_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT COMMENT '用户ID:[0,8388607]用户获取其他与用户相关的数据',
  `state` smallint(1) unsigned NOT NULL DEFAULT '1' COMMENT '账户状态:[0,10](1可用|2异常|3已冻结|4已注销)',
  `user_group` varchar(32) DEFAULT NULL COMMENT '所在用户组:[0,32767]决定用户身份和权限',
  `login_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '上次登录时间:',
  `phone` varchar(11) DEFAULT NULL COMMENT '手机号码:[0,11]用户的手机号码,用于找回密码时或登录时',
  `phone_state` smallint(1) unsigned NOT NULL DEFAULT '0' COMMENT '手机认证:[0,1](0未认证|1审核中|2已认证)',
  `username` varchar(16) NOT NULL DEFAULT '' COMMENT '用户名:[0,16]用户登录时所用的账户名称',
  `nickname` varchar(16) DEFAULT '' COMMENT '昵称:[0,16]',
  `password` varchar(64) NOT NULL DEFAULT '' COMMENT '密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成',
  `email` varchar(64) DEFAULT '' COMMENT '邮箱:[0,64]用户的邮箱,用于找回密码时或登录时',
  `email_state` smallint(1) unsigned NOT NULL DEFAULT '0' COMMENT '邮箱认证:[0,1](0未认证|1审核中|2已认证)',
  `avatar` varchar(255) DEFAULT NULL COMMENT '头像地址:[0,255]',
  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间:',
  PRIMARY KEY (`user_id`) USING BTREE
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='用户账户:用于保存用户登录信息';

-- ----------------------------
-- Table structure for user_group
-- ----------------------------
DROP TABLE IF EXISTS `user_group`;
CREATE TABLE `user_group` (
  `group_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT COMMENT '用户组ID:[0,8388607]',
  `display` smallint(4) unsigned NOT NULL DEFAULT '100' COMMENT '显示顺序:[0,1000]',
  `name` varchar(16) NOT NULL DEFAULT '' COMMENT '名称:[0,16]',
  `description` varchar(255) DEFAULT NULL COMMENT '描述:[0,255]描述该用户组的特点或权限范围',
  `source_table` varchar(255) DEFAULT NULL COMMENT '来源表:',
  `source_field` varchar(255) DEFAULT NULL COMMENT '来源字段:',
  `source_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '来源ID:',
  `register` smallint(1) unsigned DEFAULT '0' COMMENT '注册位置:',
  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间:',
  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间:',
  PRIMARY KEY (`group_id`) USING BTREE
) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='用户组:用于用户前端身份和鉴权';

五、关键代码:

/**
 * 用户账户:用于保存用户登录信息(User)表控制层
 */
@Slf4j
@RestController
@RequestMapping("user")
public class UserController extends BaseController<User, UserService> {
    /**
     * 服务对象
     */
    @Autowired
    public UserController(UserService service) {
        setService(service);
    }

    /**
     * Token服务
     */
    @Autowired
    private AccessTokenService tokenService;

    @Autowired
    private UserGroupService userGroupService;

    /**
     * 注册
     * @param user
     * @return
     */
    @PostMapping("register")
    public Map<String, Object> signUp(@RequestBody User user) {
        // 查询用户
        Map<String, String> query = new HashMap<>();
        query.put("username",user.getUsername());
        List list = service.select(query, new HashMap<>()).getResultList();
        if (list.size()>0){
            return error(30000, "用户已存在");
        }
        user.setUserId(null);
        user.setPassword(service.encryption(user.getPassword()));
        service.save(user);
        return success(1);
    }

    /**
     * 找回密码
     * @param form
     * @return
     */
    @PostMapping("forget_password")
    public Map<String, Object> forgetPassword(@RequestBody User form,HttpServletRequest request) {
        JSONObject ret = new JSONObject();
        String username = form.getUsername();
        String code = form.getCode();
        String password = form.getPassword();
        // 判断条件
        if(code == null || code.length() == 0){
            return error(30000, "验证码不能为空");
        }
        if(username == null || username.length() == 0){
            return error(30000, "用户名不能为空");
        }
        if(password == null || password.length() == 0){
            return error(30000, "密码不能为空");
        }

        // 查询用户
        Map<String, String> query = new HashMap<>();
        query.put("username",username);
        Query select = service.select(query, service.readConfig(request));
        List list = select.getResultList();
        if (list.size() > 0) {
            User o = (User) list.get(0);
            JSONObject query2 = new JSONObject();
            JSONObject form2 = new JSONObject();
            // 修改用户密码
            query2.put("user_id",o.getUserId());
            form2.put("password",service.encryption(password));
            service.update(query, service.readConfig(request), form2);
            return success(1);
        }
        return error(70000,"用户不存在");
    }

    /**
     * 登录
     * @param data
     * @param httpServletRequest
     * @return
     */
    @PostMapping("login")
    public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {
        log.info("[执行登录接口]");

        String username = data.get("username");
        String email = data.get("email");
        String phone = data.get("phone");
        String password = data.get("password");

        List resultList = null;
        Map<String, String> map = new HashMap<>();
        if(username != null && "".equals(username) == false){
            map.put("username", username);
            resultList = service.select(map, new HashMap<>()).getResultList();
        }
        else if(email != null && "".equals(email) == false){
            map.put("email", email);
            resultList = service.select(map, new HashMap<>()).getResultList();
        }
        else if(phone != null && "".equals(phone) == false){
            map.put("phone", phone);
            resultList = service.select(map, new HashMap<>()).getResultList();
        }else{
            return error(30000, "账号或密码不能为空");
        }
        if (resultList == null || password == null) {
            return error(30000, "账号或密码不能为空");
        }
        //判断是否有这个用户
        if (resultList.size()<=0){
            return error(30000,"用户不存在");
        }

        User byUsername = (User) resultList.get(0);


        Map<String, String> groupMap = new HashMap<>();
        groupMap.put("name",byUsername.getUserGroup());
        List groupList = userGroupService.select(groupMap, new HashMap<>()).getResultList();
        if (groupList.size()<1){
            return error(30000,"用户组不存在");
        }

        UserGroup userGroup = (UserGroup) groupList.get(0);

        //查询用户审核状态
        if (!StringUtils.isEmpty(userGroup.getSourceTable())){
            String sql = "select examine_state from "+ userGroup.getSourceTable() +" WHERE user_id = " + byUsername.getUserId();
            String res = String.valueOf(service.runCountSql(sql).getSingleResult());
            if (res==null){
                return error(30000,"用户不存在");
            }
            if (!res.equals("已通过")){
                return error(30000,"该用户审核未通过");
            }
        }

        //查询用户状态
        if (byUsername.getState()!=1){
            return error(30000,"用户非可用状态,不能登录");
        }

        String md5password = service.encryption(password);
        if (byUsername.getPassword().equals(md5password)) {
            // 存储Token到数据库
            AccessToken accessToken = new AccessToken();
            accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));
            accessToken.setUser_id(byUsername.getUserId());
            tokenService.save(accessToken);

            // 返回用户信息
            JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));
            user.put("token", accessToken.getToken());
            JSONObject ret = new JSONObject();
            ret.put("obj",user);
            return success(ret);
        } else {
            return error(30000, "账号或密码不正确");
        }
    }

    /**
     * 修改密码
     * @param data
     * @param request
     * @return
     */
    @PostMapping("change_password")
    public Map<String, Object> change_password(@RequestBody Map<String, String> data, HttpServletRequest request){
        // 根据Token获取UserId
        String token = request.getHeader("x-auth-token");
        Integer userId = tokenGetUserId(token);
        // 根据UserId和旧密码获取用户
        Map<String, String> query = new HashMap<>();
        String o_password = data.get("o_password");
        query.put("user_id" ,String.valueOf(userId));
        query.put("password" ,service.encryption(o_password));
        Query ret = service.count(query, service.readConfig(request));
        List list = ret.getResultList();
        Object s = list.get(0);
        int count = Integer.parseInt(list.get(0).toString());
        if(count > 0){
            // 修改密码
            Map<String,Object> form = new HashMap<>();
            form.put("password",service.encryption(data.get("password")));
            service.update(query,service.readConfig(request),form);
            return success(1);
        }
        return error(10000,"密码修改失败!");
    }

    /**
     * 登录态
     * @param request
     * @return
     */
    @GetMapping("state")
    public Map<String, Object> state(HttpServletRequest request) {
        JSONObject ret = new JSONObject();
        // 获取状态
        String token = request.getHeader("x-auth-token");

        // 根据登录态获取用户ID
        Integer userId = tokenGetUserId(token);

        log.info("[返回userId] {}",userId);
        if(userId == null || userId == 0){
            return error(10000,"用户未登录!");
        }

        // 根据用户ID获取用户
        Map<String,String> query = new HashMap<>();
        query.put("user_id" ,String.valueOf(userId));

        // 根据用户ID获取
        Query select = service.select(query,service.readConfig(request));
        List resultList = select.getResultList();
        if (resultList.size() > 0) {
            JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(resultList.get(0)));
            user.put("token",token);
            ret.put("obj",user);
            return success(ret);
        } else {
            return error(10000,"用户未登录!");
        }
    }

    /**
     * @param request
     * @return
     */
    @GetMapping("quit")
    public Map<String, Object> quit(HttpServletRequest request) {
        String token = request.getHeader("x-auth-token");
        JSONObject ret = new JSONObject();
        Map<String, String> query = new HashMap<>(16);
        query.put("token", token);
        try{
            tokenService.delete(query,service.readConfig(request));
        }catch (Exception e){
            e.printStackTrace();
        }
        return success("退出登录成功!");
    }

    /**
     * 获取登录用户ID
     * @param token
     * @return
     */
    public Integer tokenGetUserId(String token) {
        log.info("[获取的token] {}",token);
        // 根据登录态获取用户ID
        if(token == null || "".equals(token)){
            return 0;
        }
        Map<String, String> query = new HashMap<>(16);
        query.put("token", token);
        AccessToken byToken = tokenService.findOne(query);
        if(byToken == null){
            return 0;
        }
        return byToken.getUser_id();
    }

    /**
     * 重写add
     * @return
     */
    @PostMapping("/add")
    @Transactional
    public Map<String, Object> add(HttpServletRequest request) throws IOException {
        Map<String,Object> map = service.readBody(request.getReader());
        map.put("password",service.encryption(String.valueOf(map.get("password"))));
        service.insert(map);
        return success(1);
    }

}

六、论文参考:

七、其他案例: 

 

 

 

八、源码获取:

大家点赞、收藏、关注、评论啦 、查看👇🏻获取联系方式👇🏻

 精彩专栏推荐订阅下方专栏👇🏻

2022-2024年最全的计算机软件毕业设计选题大全:1000个热门选题推荐✅

Java项目精品实战案例《100套》

Java微信小程序项目实战《100套》

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

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

相关文章

工作中的二三事(非技术 向)

DB更换节点导致系统无法访问案 XX年X月X日&#xff0c;周一。spotfire所有预加载全显示在排队状态&#xff0c;end user无法打开&#xff0c;良率无法及时汇报&#xff0c;影响挺大。 背景&#xff1a; 两台spotfire服务器 处理过程&#xff1a; 开始怀疑和另一现地的情况一…

阿里云远程调用接口api

1.云市场--->api--->搜索那你想要的功能 2.举例想要天气预报功能 3.用postman进行演示

【云计算小知识】云环境是什么意思?有什么优点?

随着云计算的快速发展&#xff0c;了解云计算相关知识也是运维人员必备的。那你知道云环境是什么意思&#xff1f;有什么优点&#xff1f;云环境安全威胁有哪些&#xff1f;如何保证云环境的运维安全&#xff1f;这里我们就来简单聊聊。 云环境是什么意思&#xff1f; 云环境是…

Linux系列---【Aerospike的介绍】

Aerospike的介绍 Aerospike(以下简称AS)是一个以分布式为核心基础&#xff0c;可基于行随机存取内存中索引、数据或SSD存储中数据的数据库。它主要用于百G、数T等大数据量并且在数万以上高并发情况下&#xff0c;对性能也有毫秒级读取插入要求的场景。 B站视频链接:https://www…

SWF格式视频怎么转换成AVI格式?简单的转换方法分享

当你想要在不同的设备上播放视频时&#xff0c;将SWF格式视频转换成AVI格式是非常有用的。因为SWF格式通常只能在特定的软件或网页上播放&#xff0c;而AVI格式则可以在更广泛的设备上播放&#xff0c;包括智能手机&#xff0c;平板电脑和电视机等。那么我们怎么将SWF转换成AVI…

数据库基础之——索引事务

索引&#xff08;index|key&#xff09; 1 概念 是数据库内部维护的一套数据结构&#xff0c;专门用于搜索的数据结构。目标就是提升搜索速度&#xff08;性能&#xff09;&#xff01; 数据存储的数据主要保存在硬盘上&#xff0c;维护的索引数据结构同样也保存在硬盘上。…

动手学DL——深度学习预备知识随笔【深度学习】【PyTorch】

文章目录 2、预备知识2.1、数据操作2.2、线性代数&矩阵计算2.3、导数2.4、基础优化方法 2、预备知识 2.1、数据操作 batch&#xff1a;以图片数据为例&#xff0c;一次读入的图片数量。 小批量样本可以充分利用GPU进行并行计算提高计算效率。 数据访问 数组&#xff1a;np…

mfc100u.dll丢失的4种解决方法分享,快速修复mfc100u.dll文件

在现代数字化时代&#xff0c;计算机已经成为了我们生活和工作的不可或缺的一部分。然而&#xff0c;随着软件的不断发展和更新&#xff0c;有时我们可能会遇到一些令人头疼的问题&#xff0c;例如MFC100U.DLL文件的丢失。当你第一次看到这个错误提示时&#xff0c;估计是一脸懵…

学好Elasticsearch系列-核心概念

本文已收录至Github&#xff0c;推荐阅读 &#x1f449; Java随想录 文章目录 节点角色master&#xff1a;候选节点data&#xff1a;数据节点Ingest&#xff1a;预处理节点ml&#xff1a;机器学习节点remote_ cluster_ client&#xff1a;候选客户端节点transform&#xff1a;…

2022 China Open Source Report

| 翻译&#xff1a;黄绍雅、岳扬、刘文涛、李思颖 | 编辑&#xff1a;胡欣元 | 设计&#xff1a;胡欣元 As 2022 finally came to an end, we also emerged from the challenging years of the three-year-long COVID pandemic. The new edition of the "China Open Sourc…

【多选框、表格全选】element el-checkbox、el-table

话不多说 先看效果&#xff1a; 多选框&#xff1a; 表格全选&#xff1a; <template><div><div class"titleLabel"><div class"lineStyle"></div>统计部门</div><div style"display: flex"><e…

服务网格简介:探索现代微服务架构中的服务网格概念和价值

&#x1f337;&#x1f341; 博主 libin9iOak带您 Go to New World.✨&#x1f341; &#x1f984; 个人主页——libin9iOak的博客&#x1f390; &#x1f433; 《面试题大全》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33…

Tiktok最全客户开发以及运营攻略,建议收藏

Tiktok最近很多粉丝朋友问我要怎么做&#xff0c;今天就来分享一下如何利用Tiktok开发客户以及运营思路&#xff0c;文章略长&#xff0c;需要安装包看文末&#xff0c;喜欢的点赞加关注。 一、外贸企业为什么要做Tiktok‍ TikTok作为一个全球范围内流行的短视频平台&#xf…

Django3 模糊查询/filters.SearchFilter的使用,基于viewsets.ModelViewSet

背景描述 模型 from django.db import modelsfrom interfaces.validate import validate_include from testcases.models import Testcases from utils.base_models import BaseModel from utils.pure_validator import JSONValidatorclass Interfaces(BaseModel):id models…

嵌入式Linux驱动开发——常见框架梳理

前言 本文主要介绍了Linux驱动开发中一些常用的驱动框架&#xff0c;platform、input、iic、spi等&#xff0c;硬件平台使用的是正点原子的imx6ull开发板。 一&#xff1a;Pinctrl子系统、Gpio子系统 不管什么框架最后都是要追溯到配置IO的电气属性和复用功能 如果要使用外部…

一起学数据结构(1)——复杂度

目录 1. 时间复杂度&#xff1a; 1.1 时间复杂度的概念&#xff1a; 1.2 时间复杂度的表示及计算&#xff1a; 1.3 较为复杂的时间复杂度的计算&#xff1a; 2. 空间复杂度&#xff1a; 2.1 空间复杂度的概念&#xff1a; 2.2 空间复杂度的计算&#xff1a; 1. 时间复杂度…

Kubernetes 简介:容器编排与集群管理的进化

&#x1f337;&#x1f341; 博主 libin9iOak带您 Go to New World.✨&#x1f341; &#x1f984; 个人主页——libin9iOak的博客&#x1f390; &#x1f433; 《面试题大全》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33…

Mybatis-plus从入门到精通

1、什么是MyBatis-Plus MyBatis-Plus&#xff08;简称MP&#xff09;是一个基于MyBatis的增强工具&#xff0c;在MyBatis的基础上对其进行扩展&#xff0c;用于简化MyBatis操作&#xff0c;提高开发效率。它继承了MyBatis原生的所有特性&#xff0c;并且添加了一些额外的功能&…

《TCP IP网络编程》第十章

第 10 章 多进程服务器端 10.1 进程概念及应用 并发服务端的实现方法&#xff1a; 通过改进服务端&#xff0c;使其同时向所有发起请求的客户端提供服务&#xff0c;以提高平均满意度。而且&#xff0c;网络程序中数据通信时间比 CPU 运算时间占比更大&#xff0c;因此&#…

探析国内数字孪生引擎技术现状

在数字孪生软件来发中&#xff0c;渲染引擎是一个关键点&#xff0c;国内大多数字孪生平台引擎通常使用的是自研的渲染引擎或者采用开源的渲染引擎。下面通过一些常见的渲染引擎在国内数字孪生引擎中的应用带大家了解数字孪生软件开发的方式。 自研渲染引擎&#xff1a;许多数…