基于SSM的营业厅宽带系统

末尾获取源码
开发语言:Java
Java开发工具:JDK1.8
后端框架:SSM
前端:采用JSP技术开发
数据库:MySQL5.7和Navicat管理工具结合
服务器:Tomcat8.5
开发软件:IDEA / Eclipse
是否Maven项目:是



一、项目简介

现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本营业厅宽带系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到事半功倍的效果。此营业厅宽带系统利用当下成熟完善的SSM框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的Mysql数据库进行程序开发。实现了健身房基础数据的管理,员工的管理,公告信息的发布等功能。营业厅宽带系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。


二、论文截图



三、系统项目截图

3.1用户信息管理

此页面提供给管理员的功能有:查看已发布的用户信息,修改用户信息或更换用户内容,用户信息作废,即可删除。

3.2宽带类型管理

此页面提供给管理员的功能有:对宽带类型的新增、修改、删除功能

3.3宽带信息管理

此页面提供给管理员的功能有:对全部的宽带信息的一个管理、可以根据宽带信息名称进行模糊查询。

 


四、核心代码

4.1登录相关


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{@Autowiredprivate UserService userService;@Autowiredprivate 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);userService.updateById(user);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){userService.deleteBatchIds(Arrays.asList(ids));return R.ok();}
}

4.2文件上传

package com.controller;import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
import java.util.UUID;import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.util.ResourceUtils;
import org.springframework.web.bind.annotation.PathVariable;
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.RestController;
import org.springframework.web.multipart.MultipartFile;import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.ConfigEntity;
import com.entity.EIException;
import com.service.ConfigService;
import com.utils.R;/*** 上传文件映射表*/
@RestController
@RequestMapping("file")
@SuppressWarnings({"unchecked","rawtypes"})
public class FileController{@Autowiredprivate ConfigService configService;/*** 上传文件*/@RequestMapping("/upload")public R upload(@RequestParam("file") MultipartFile file,String type) throws Exception {if (file.isEmpty()) {throw new EIException("上传文件不能为空");}String fileExt = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")+1);File path = new File(ResourceUtils.getURL("classpath:static").getPath());if(!path.exists()) {path = new File("");}File upload = new File(path.getAbsolutePath(),"/upload/");if(!upload.exists()) {upload.mkdirs();}String fileName = new Date().getTime()+"."+fileExt;File dest = new File(upload.getAbsolutePath()+"/"+fileName);file.transferTo(dest);FileUtils.copyFile(dest, new File("C:\\Users\\Desktop\\jiadian\\springbootl7own\\src\\main\\resources\\static\\upload"+"/"+fileName));if(StringUtils.isNotBlank(type) && type.equals("1")) {ConfigEntity configEntity = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "faceFile"));if(configEntity==null) {configEntity = new ConfigEntity();configEntity.setName("faceFile");configEntity.setValue(fileName);} else {configEntity.setValue(fileName);}configService.insertOrUpdate(configEntity);}return R.ok().put("file", fileName);}/*** 下载文件*/@IgnoreAuth@RequestMapping("/download")public ResponseEntity<byte[]> download(@RequestParam String fileName) {try {File path = new File(ResourceUtils.getURL("classpath:static").getPath());if(!path.exists()) {path = new File("");}File upload = new File(path.getAbsolutePath(),"/upload/");if(!upload.exists()) {upload.mkdirs();}File file = new File(upload.getAbsolutePath()+"/"+fileName);if(file.exists()){/*if(!fileService.canRead(file, SessionManager.getSessionUser())){getResponse().sendError(403);}*/HttpHeaders headers = new HttpHeaders();headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);    headers.setContentDispositionFormData("attachment", fileName);    return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file),headers, HttpStatus.CREATED);}} catch (IOException e) {e.printStackTrace();}return new ResponseEntity<byte[]>(HttpStatus.INTERNAL_SERVER_ERROR);}}

4.3封装

package com.utils;import java.util.HashMap;
import java.util.Map;/*** 返回数据*/
public class R extends HashMap<String, Object> {private static final long serialVersionUID = 1L;public R() {put("code", 0);}public static R error() {return error(500, "未知异常,请联系管理员");}public static R error(String msg) {return error(500, msg);}public static R error(int code, String msg) {R r = new R();r.put("code", code);r.put("msg", msg);return r;}public static R ok(String msg) {R r = new R();r.put("msg", msg);return r;}public static R ok(Map<String, Object> map) {R r = new R();r.putAll(map);return r;}public static R ok() {return new R();}public R put(String key, Object value) {super.put(key, value);return this;}
}

4.4sql语句

/*
SQLyog Ultimate v11.3 (64 bit)
MySQL - 5.7.32-log : Database - kd-ssmj
*********************************************************************
*//*!40101 SET NAMES utf8 */;/*!40101 SET SQL_MODE=''*/;/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/`kd-ssmj` /*!40100 DEFAULT CHARACTER SET utf8 */;USE `kd-ssmj`;/*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`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='配置文件';/*Data for the table `config` */insert  into `config`(`id`,`name`,`value`) values (1,'picture1','http://localhost:8080/ssm1z8hn/upload/picture1.jpg'),(2,'picture2','http://localhost:8080/ssm1z8hn/upload/picture2.jpg'),(3,'picture3','http://localhost:8080/ssm1z8hn/upload/picture3.jpg'),(4,'homepage',NULL);/*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` tinyint(4) DEFAULT NULL COMMENT '编码',`index_name` varchar(200) DEFAULT NULL COMMENT '编码名字',`super_id` int(11) DEFAULT NULL COMMENT '父字段id',`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='字典表';/*Data for the table `dictionary` */insert  into `dictionary`(`id`,`dic_code`,`dic_name`,`code_index`,`index_name`,`super_id`,`create_time`) values (1,'mariadb_types','是否通过',1,'已安装',NULL,'2021-01-25 11:41:54'),(2,'mariadb_types','是否通过',2,'未安装',NULL,'2021-01-25 11:41:54'),(3,'mariadb_types','是否通过',3,'拆机',NULL,'2021-02-03 14:26:36');/*Table structure for table `kuandaileixing` */DROP TABLE IF EXISTS `kuandaileixing`;CREATE TABLE `kuandaileixing` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',`kdname` varchar(255) DEFAULT NULL COMMENT '宽带名称 Search',`notice_content` varchar(255) DEFAULT NULL COMMENT '套餐描述',`money` decimal(10,0) DEFAULT NULL COMMENT '宽带价格',`money_time` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '缴费时间',`speed` int(11) DEFAULT NULL COMMENT '宽带速度',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;/*Data for the table `kuandaileixing` */insert  into `kuandaileixing`(`id`,`kdname`,`notice_content`,`money`,`money_time`,`speed`) values (1,'宽带套餐1','宽带套餐描述','1000','2021-03-26 13:30:12',1),(3,'宽带套餐2','宽带套餐描述\r\n','2000','2021-02-03 13:58:07',2),(4,'宽带套餐3','宽带套餐描述\r\n','3000','2021-02-03 13:58:21',3);/*Table structure for table `kuandaixinxi` */DROP TABLE IF EXISTS `kuandaixinxi`;CREATE TABLE `kuandaixinxi` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',`yh_types` tinyint(255) DEFAULT NULL COMMENT '所属用户 Search',`family` varchar(255) DEFAULT NULL COMMENT '安装地址',`number` varchar(255) DEFAULT NULL COMMENT '联系电话',`kd_types` tinyint(255) DEFAULT NULL COMMENT '套餐信息 Search',`create_time` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '安装时间',`mariadb_types` tinyint(255) DEFAULT NULL COMMENT '是否安装 Search',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8 COMMENT='宽带信息表';/*Data for the table `kuandaixinxi` */insert  into `kuandaixinxi`(`id`,`yh_types`,`family`,`number`,`kd_types`,`create_time`,`mariadb_types`) values (2,3,'地址1','123123123123',3,'2021-02-03 14:45:36',3),(5,1,'住址1','44444444',4,'2021-02-03 16:43:17',1);/*Table structure for table `liuyanxinxi` */DROP TABLE IF EXISTS `liuyanxinxi`;CREATE TABLE `liuyanxinxi` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',`note` varchar(255) DEFAULT NULL COMMENT '留言信息',`yhnote` varchar(11) DEFAULT NULL COMMENT '留言人',`note_time` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '留言时间 Search',`reply` varchar(255) DEFAULT NULL COMMENT '回复',`glreply` varchar(11) DEFAULT NULL COMMENT '回复人',`reply_time` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '回复时间 Search',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;/*Data for the table `liuyanxinxi` */insert  into `liuyanxinxi`(`id`,`note`,`yhnote`,`note_time`,`reply`,`glreply`,`reply_time`) values (4,'1231111','admin','2021-02-03 17:15:28','只有管理员可以回复','admin','2021-02-03 17:15:29');/*Table structure for table `token` */DROP TABLE IF EXISTS `token`;CREATE TABLE `token` (`id` int(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`userid` int(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`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='token表';/*Data for the table `token` */insert  into `token`(`id`,`userid`,`username`,`tablename`,`role`,`token`,`addtime`,`expiratedtime`) values (1,1,'admin','users','管理员','zm35bb7hm8q3168evf5hltqszow1v9k8','2021-01-28 18:04:51','2021-02-03 18:15:49'),(2,1,'小札','users','用户','fcfwfb0a3vfa9intt5xqj4oq0d1x0hok','2021-02-03 16:33:33','2021-02-03 17:33:33'),(3,30,'123','users',NULL,'31ztl98nm0uiodqbiajww0ig3bkqm92z','2021-02-03 16:59:57','2021-02-03 17:59:57'),(4,30,'123','users','用户','y33tglpuy0aacwtcyu9x6ewodbs15tox','2021-02-03 17:05:40','2021-02-03 18:05:57'),(5,32,'1233','users','用户','vkl4u1yicgsxytzrhxztol20vp3ha6g0','2021-02-03 17:15:57','2021-02-03 18:16:16');/*Table structure for table `users` */DROP TABLE IF EXISTS `users`;CREATE TABLE `users` (`id` int(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`username` varchar(100) NOT NULL COMMENT '用户名',`password` varchar(100) NOT NULL COMMENT '密码',`role` varchar(100) NOT NULL DEFAULT '管理员' COMMENT '角色',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '新增时间',PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='用户表';/*Data for the table `users` */insert  into `users`(`id`,`username`,`password`,`role`,`addtime`) values (1,'admin','admin','管理员','2021-01-28 18:04:51');/*Table structure for table `xitonggonggao` */DROP TABLE IF EXISTS `xitonggonggao`;CREATE TABLE `xitonggonggao` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`biaoti` varchar(200) DEFAULT NULL COMMENT '标题 Search',`leixing` varchar(200) DEFAULT NULL COMMENT '类型',`neirong` longtext COMMENT '内容',`riqi` datetime DEFAULT NULL COMMENT '日期',PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='系统公告';/*Data for the table `xitonggonggao` */insert  into `xitonggonggao`(`id`,`addtime`,`biaoti`,`leixing`,`neirong`,`riqi`) values (1,'2020-12-17 17:35:20','2020/12/17日常公告','日常公告','公告信息','2020-12-17 17:34:43'),(2,'2020-12-17 17:35:40','2020/12/17紧急公告','紧急公告','公告信息','2020-12-17 17:35:22'),(3,'2020-12-17 17:36:13','2020/12/17其他公告','其他公告','公告信息','2020-12-17 17:35:43');/*Table structure for table `yonghuxinxi` */DROP TABLE IF EXISTS `yonghuxinxi`;CREATE TABLE `yonghuxinxi` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',`name` varchar(255) CHARACTER SET utf8 DEFAULT NULL COMMENT '用户名称 Search',`account` varchar(255) CHARACTER SET utf8 DEFAULT NULL COMMENT '账号',`password` varchar(255) CHARACTER SET utf8 DEFAULT NULL COMMENT '密码',`img_photo` varchar(255) CHARACTER SET utf8 DEFAULT NULL COMMENT '头像',`balance` decimal(10,2) DEFAULT NULL COMMENT '余额',`role` varchar(255) CHARACTER SET utf8 DEFAULT NULL COMMENT '身份',`number` varchar(11) CHARACTER SET utf8 DEFAULT NULL COMMENT '手机号',`family` varchar(255) CHARACTER SET utf8 DEFAULT NULL COMMENT '住址',`identity` varchar(255) CHARACTER SET utf8 DEFAULT NULL COMMENT '身份证号',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=33 DEFAULT CHARSET=latin1;/*Data for the table `yonghuxinxi` */insert  into `yonghuxinxi`(`id`,`name`,`account`,`password`,`img_photo`,`balance`,`role`,`number`,`family`,`identity`) values (1,'小札','111','111','http://localhost:8080/kd-ssmj/file/download?fileName=1612330131778.jpg','9999999.00','用户','1111111111','住址1','11111111111'),(2,'小站','222','222','http://localhost:8080/kd-ssmj/file/download?fileName=1612330113785.jpg','40000.00','用户','22222222','住址2','2222222222'),(3,'汪汪','333','333','http://localhost:8080/kd-ssmj/file/download?fileName=1612330142088.JPG','10000.00','用户','333333333','住址3','3333333333'),(29,'小夏','444','444','http://localhost:8080/kd-ssmj/file/download?fileName=1612330051317.jpg','443804.00','用户','44444444','住址1','4444444444'),(32,'1233','1233','123','http://localhost:8080/kd-ssmj/file/download?fileName=1612343631389.JPG','0.00','用户','444444443','1233','1233');/*!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 */;

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于循环队列和信号量的生产和消费者模型

这一节为什么要基于信号量来实现同一个模型&#xff0c;原因&#xff1a; void push(const T& in){pthread_mutex_lock(&_lock);while(is_Full()){//这里说明阻塞队列是满的&#xff0c;需要让生产者等待pthread_cond_wait(&_pcond,&_lock);}//这里说明阻塞队列…

云备份——实用类工具实现

一&#xff0c;文件实用类设计实现 不管是客户端还是服务端&#xff0c;文件的传输备份都涉及到文件的读写&#xff0c;包括数据管理信息的持久化也是如此&#xff0c;因此首先设计封装文件操作类&#xff0c;这个类封装完毕之后&#xff0c;则在任意模块中对文件进行操作时都将…

[机器学习]分类算法系列①:初识概念

目录 1、概念 2、数据集介绍与划分 2.1、数据集的划分 2.2、sklearn数据集介绍 2.2.1、API 2.2.2、分类和回归数据集 分类数据集 回归数据集 返回类型 3、sklearn转换器和估计器 3.1、转换器 三种方法的区别 3.2、估计器 3.2.1、简介 3.2.2、API 3.3、工作流程 …

static关键字

static 是Java中的一个关键字&#xff0c;它可以用于修饰类的成员变量和方法&#xff0c;具有特殊的含义和用途。下面是关于static关键字的主要用法和含义&#xff1a; 静态变量&#xff08;Static Variables&#xff09;&#xff1a; 静态变量也称为类变量&#xff0c;它们属于…

ZDH-权限模块

本次介绍基于ZDH v5.1.2版本 目录 项目源码 预览地址 安装包下载地址 ZDH权限模块 ZDH权限模块-重要名词划分 ZDH权限模块-菜单管理 ZDH权限模块-角色管理 ZDH权限模块-用户配置 ZDH权限模块-权限申请 项目源码 zdh_web: GitHub - zhaoyachao/zdh_web: 大数据采集,抽…

【Apollo】Apollo的入门介绍

阿波罗是百度发布的名为“Apollo&#xff08;阿波罗&#xff09;”的向汽车行业及自动驾驶领域的合作伙伴提供的软件平台。 帮助汽车行业及自动驾驶领域的合作伙伴结合车辆和硬件系统&#xff0c;快速搭建一套属于自己的自动驾驶系统。 百度开放此项计划旨在建立一个以合作为中…

idea VCS配置多个远程仓库

Idea VCS配置多个远程仓库 首先要有连个远程仓库地址 idea 添加数据源 查看推送记录 添加数据源 ok之后填写账号密码 推送本地项目 选择不同远程地址 push 查看不同远程地址的 不同分支的 推送记录 不期而遇的温柔&#xff1a; 应用开源架构进行项目开发&#xff0c;特别是那…

Unity3D开发流程及注意事项

使用Unity3D开发游戏需要遵循一定的流程和注意事项&#xff0c;以确保项目的顺利进行并获得良好的结果。以下是一般的游戏开发流程以及一些注意事项&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。 游…

RabbitMQ高级特性

目录 消息的可靠投递confirm和return Consumer Ack 消费端限流 TTL Time To Live&#xff08;存活时间/过期时间&#xff09; 死信队列&#xff08;死信交换机&#xff09; 延迟队列 日志与监控 rabbitmqctl管理和监控 消息追踪 消息的可靠投递confirm和return 持久…

2023全国大学生数学建模A题B题C题D题E题竞赛选题建议,思路模型

目录 国赛数学建模思路模型代码&#xff1a;9.7开赛后第一时间更新&#xff0c;完整思路获取见文末名片 一、题目选择 二、国赛摘要及论文写作技巧 1、国赛摘要 2、论文写作技巧 三、历年国赛真题及对应算法模型 完整国赛题思路模型获取见此 国赛数学建模思路模型代码&am…

[machine learning]误差分析,模型分析

1.目的是什么 当我们找到一个算法去计算某些东西的时候,我们通常要对这个算法进行一定的分析,比如时间复杂度,空间复杂度(前者更加重要),来进行比较,判断一个算法的优劣性. 对于一个训练的模型来说,同样需要某种模型来进行分析,例如代价函数等等,通过比较拟合程度,正确精度等…

AR眼镜: 与人并行的智能伙伴

AR眼镜&#xff1a; 与人并行的智能伙伴 增强现实&#xff08;Augmented Reality&#xff0c;AR&#xff09;眼镜是一种将虚拟信息与真实世界进行融合的设备&#xff0c;通过眼镜或头戴设备让用户能够看到真实世界&#xff0c;并在其上叠加数字内容和图像。目前工业级AR眼镜已…