ssm学院党员管理系统源码和论文PPT

ssm学院党员管理系统源码和论文PPT002

开发工具:idea 

 数据库mysql5.7+(mysql5.7最佳)

 数据库链接工具:navcat,小海豚等

开发技术:java  ssm tomcat8.5

选题意义、价值和目标:

随着鄂尔多斯应用技术学院招生规模的不断扩大,学院党员的数量也在不断增加,以往采用的人工管理党员信息的方式,在数据共享、存储、查询、管理、汇总等工作中都存在很多困难。并且传统方式管理党员信息无法满足新时期的工作需求,暴露出很多弊端,因此,需要针对鄂尔多斯应用技术学院实际的情况,设计开发出一款鄂尔多斯应用技术学院党员管理系统。该系统可以使党员信息管理工作规范化,还可以提高党建工作效率,增强党员工作考核的严谨度和透明度。 

写作提纲:

本论文将会从以下几部分撰写:

(1)绪论。主要介绍研究背景及意义,以及研究内容。

(2)相关技术。介绍此系统使用到的技术与工具。

(3)系统分析。主要分析系统可行性与功能需求等。

(4)系统设计。主要对系统功能和数据库进行设计。

(5)系统功能实现。主要介绍系统界面的实现。

(6)系统测试。阐述系统的功能测试。

(7)结论。对本系统的不足做出总结,分析系统需要改进与完善的方面。

package com.controller;import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
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 com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;import com.entity.DangyuanEntity;
import com.entity.view.DangyuanView;import com.service.DangyuanService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MPUtil;
import com.utils.CommonUtil;/*** 党员* 后端接口* @author * @email * @date 2023-12-17 17:40:13*/
@RestController
@RequestMapping("/dangyuan")
public class DangyuanController {@Autowiredprivate DangyuanService dangyuanService;@Autowiredprivate TokenService tokenService;/*** 登录*/@IgnoreAuth@RequestMapping(value = "/login")public R login(String username, String password, String captcha, HttpServletRequest request) {DangyuanEntity user = dangyuanService.selectOne(new EntityWrapper<DangyuanEntity>().eq("zhanghao", username));if(user==null || !user.getMima().equals(password)) {return R.error("账号或密码不正确");}String token = tokenService.generateToken(user.getId(), username,"dangyuan",  "党员" );return R.ok().put("token", token);}/*** 注册*/@IgnoreAuth@RequestMapping("/register")public R register(@RequestBody DangyuanEntity dangyuan){//ValidatorUtils.validateEntity(dangyuan);DangyuanEntity user = dangyuanService.selectOne(new EntityWrapper<DangyuanEntity>().eq("zhanghao", dangyuan.getZhanghao()));if(user!=null) {return R.error("注册用户已存在");}Long uId = new Date().getTime();dangyuan.setId(uId);dangyuanService.insert(dangyuan);return R.ok();}/*** 退出*/@RequestMapping("/logout")public R logout(HttpServletRequest request) {request.getSession().invalidate();return R.ok("退出成功");}/*** 获取用户的session用户信息*/@RequestMapping("/session")public R getCurrUser(HttpServletRequest request){Long id = (Long)request.getSession().getAttribute("userId");DangyuanEntity user = dangyuanService.selectById(id);return R.ok().put("data", user);}/*** 密码重置*/@IgnoreAuth@RequestMapping(value = "/resetPass")public R resetPass(String username, HttpServletRequest request){DangyuanEntity user = dangyuanService.selectOne(new EntityWrapper<DangyuanEntity>().eq("zhanghao", username));if(user==null) {return R.error("账号不存在");}user.setMima("123456");dangyuanService.updateById(user);return R.ok("密码已重置为:123456");}/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,DangyuanEntity dangyuan, HttpServletRequest request){EntityWrapper<DangyuanEntity> ew = new EntityWrapper<DangyuanEntity>();PageUtils page = dangyuanService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, dangyuan), params), params));request.setAttribute("data", page);return R.ok().put("data", page);}/*** 前端列表*/@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,DangyuanEntity dangyuan, HttpServletRequest request){EntityWrapper<DangyuanEntity> ew = new EntityWrapper<DangyuanEntity>();PageUtils page = dangyuanService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, dangyuan), params), params));request.setAttribute("data", page);return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/lists")public R list( DangyuanEntity dangyuan){EntityWrapper<DangyuanEntity> ew = new EntityWrapper<DangyuanEntity>();ew.allEq(MPUtil.allEQMapPre( dangyuan, "dangyuan")); return R.ok().put("data", dangyuanService.selectListView(ew));}/*** 查询*/@RequestMapping("/query")public R query(DangyuanEntity dangyuan){EntityWrapper< DangyuanEntity> ew = new EntityWrapper< DangyuanEntity>();ew.allEq(MPUtil.allEQMapPre( dangyuan, "dangyuan")); DangyuanView dangyuanView =  dangyuanService.selectView(ew);return R.ok("查询党员成功").put("data", dangyuanView);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") String id){DangyuanEntity dangyuan = dangyuanService.selectById(id);return R.ok().put("data", dangyuan);}/*** 前端详情*/@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") String id){DangyuanEntity dangyuan = dangyuanService.selectById(id);return R.ok().put("data", dangyuan);}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody DangyuanEntity dangyuan, HttpServletRequest request){dangyuan.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(dangyuan);DangyuanEntity user = dangyuanService.selectOne(new EntityWrapper<DangyuanEntity>().eq("zhanghao", dangyuan.getZhanghao()));if(user!=null) {return R.error("用户已存在");}dangyuan.setId(new Date().getTime());dangyuanService.insert(dangyuan);return R.ok();}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody DangyuanEntity dangyuan, HttpServletRequest request){dangyuan.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(dangyuan);DangyuanEntity user = dangyuanService.selectOne(new EntityWrapper<DangyuanEntity>().eq("zhanghao", dangyuan.getZhanghao()));if(user!=null) {return R.error("用户已存在");}dangyuan.setId(new Date().getTime());dangyuanService.insert(dangyuan);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody DangyuanEntity dangyuan, HttpServletRequest request){//ValidatorUtils.validateEntity(dangyuan);dangyuanService.updateById(dangyuan);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){dangyuanService.deleteBatchIds(Arrays.asList(ids));return R.ok();}/*** 提醒接口*/@RequestMapping("/remind/{columnName}/{type}")public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, @PathVariable("type") String type,@RequestParam Map<String, Object> map) {map.put("column", columnName);map.put("type", type);if(type.equals("2")) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");Calendar c = Calendar.getInstance();Date remindStartDate = null;Date remindEndDate = null;if(map.get("remindstart")!=null) {Integer remindStart = Integer.parseInt(map.get("remindstart").toString());c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindStart);remindStartDate = c.getTime();map.put("remindstart", sdf.format(remindStartDate));}if(map.get("remindend")!=null) {Integer remindEnd = Integer.parseInt(map.get("remindend").toString());c.setTime(new Date());c.add(Calendar.DAY_OF_MONTH,remindEnd);remindEndDate = c.getTime();map.put("remindend", sdf.format(remindEndDate));}}Wrapper<DangyuanEntity> wrapper = new EntityWrapper<DangyuanEntity>();if(map.get("remindstart")!=null) {wrapper.ge(columnName, map.get("remindstart"));}if(map.get("remindend")!=null) {wrapper.le(columnName, map.get("remindend"));}int count = dangyuanService.selectCount(wrapper);return R.ok().put("count", count);}}

 

主要参考文献:

[1]许丹丹,卢珍.浅析高职院校党员信息化系统的模块设计[J].通讯世界,2020,27(04):212-213.

[2]李军.新时代高校发展学生党员管理信息系统的思考[J].西南林业大学学报(社会科学),2020,4(01):51-53.

[3]宋丽娜.基于JSP的Web开发中文乱码问题的研究与解决[J].电子技术,2015,42(11):5-7.

[4]汪君宇.基于JSP的Web应用软件开发技术分析[J].科技创新与应用,2018(16):158-160.

[5]赵钢.JSP Servlet+EJB的Web模式应用研究[J].电子设计工程,2016,21(13):47-49.

[6]肖英.解决JSP/Servlet开发中的中文乱码问题[J].科技传播,2017,(1)11-25.

[7]朱钧.基于角色的jsp通用权限系统设计与实现[D].山东大学,2014.

[8]康牧.JSP动态网站开发实用教程[M].清华大学出版社,2014.

[9]王建国.数据库设计在网站开发中的应用[J].山东农业工程学院学报,2017,34(04):158-159+164.

[10]张知青.基于关系数据库的查询方法及优化技术分析[J].煤炭技术,2015,31(05):218-220.

[11]Konstantins Gusarovs. An Analysis on Java Programming Language Decompiler Capabilities[J]. Applied Computer Systems,2018,23(2).

[12]Tan Yiyu. A Hardware-oriented Object Model for Java in an Embedded Processor[J]. Microprocessors and Microsystems,2018.

package com.controller;import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
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 com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;import com.entity.JiangchengjiluEntity;
import com.entity.view.JiangchengjiluView;import com.service.JiangchengjiluService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MPUtil;
import com.utils.CommonUtil;/*** 奖惩记录* 后端接口* @author * @email * @date 2023-12-17 17:40:13*/
@RestController
@RequestMapping("/jiangchengjilu")
public class JiangchengjiluController {@Autowiredprivate JiangchengjiluService jiangchengjiluService;/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,JiangchengjiluEntity jiangchengjilu, HttpServletRequest request){String tableName = request.getSession().getAttribute("tableName").toString();if(tableName.equals("dangyuan")) {jiangchengjilu.setZhanghao((String)request.getSession().getAttribute("username"));}EntityWrapper<JiangchengjiluEntity> ew = new EntityWrapper<JiangchengjiluEntity>();PageUtils page = jiangchengjiluService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, jiangchengjilu), params), params));request.setAttribute("data", page);return R.ok().put("data", page);}/*** 前端列表*/@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,JiangchengjiluEntity jiangchengjilu, HttpServletRequest request){EntityWrapper<JiangchengjiluEntity> ew = new EntityWrapper<JiangchengjiluEntity>();PageUtils page = jiangchengjiluService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, jiangchengjilu), params), params));request.setAttribute("data", page);return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/lists")public R list( JiangchengjiluEntity jiangchengjilu){EntityWrapper<JiangchengjiluEntity> ew = new EntityWrapper<JiangchengjiluEntity>();ew.allEq(MPUtil.allEQMapPre( jiangchengjilu, "jiangchengjilu")); return R.ok().put("data", jiangchengjiluService.selectListView(ew));}/*** 查询*/@RequestMapping("/query")public R query(JiangchengjiluEntity jiangchengjilu){EntityWrapper< JiangchengjiluEntity> ew = new EntityWrapper< JiangchengjiluEntity>();ew.allEq(MPUtil.allEQMapPre( jiangchengjilu, "jiangchengjilu")); JiangchengjiluView jiangchengjiluView =  jiangchengjiluService.selectView(ew);return R.ok("查询奖惩记录成功").put("data", jiangchengjiluView);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") String id){JiangchengjiluEntity jiangchengjilu = jiangchengjiluService.selectById(id);return R.ok().put("data", jiangchengjilu);}/*** 前端详情*/@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") String id){JiangchengjiluEntity jiangchengjilu = jiangchengjiluService.selectById(id);return R.ok().put("data", jiangchengjilu);}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody JiangchengjiluEntity jiangchengjilu, HttpServletRequest request){jiangchengjilu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(jiangchengjilu);jiangchengjiluService.insert(jiangchengjilu);return R.ok();}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody JiangchengjiluEntity jiangchengjilu, HttpServletRequest request){jiangchengjilu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(jiangchengjilu);jiangchengjiluService.insert(jiangchengjilu);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody JiangchengjiluEntity jiangchengjilu, HttpServletRequest request){//ValidatorUtils.validateEntity(jiangchengjilu);jiangchengjiluService.updateById(jiangchengjilu);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){jiangchengjiluService.deleteBatchIds(Arrays.asList(ids));return R.ok();}/*** 提醒接口*/@RequestMapping("/remind/{columnName}/{type}")public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, @PathVariable("type") String type,@RequestParam Map<String, Object> map) {map.put("column", columnName);map.put("type", type);if(type.equals("2")) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");Calendar c = Calendar.getInstance();Date remindStartDate = null;Date remindEndDate = null;if(map.get("remindstart")!=null) {Integer remindStart = Integer.parseInt(map.get("remindstart").toString());c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindStart);remindStartDate = c.getTime();map.put("remindstart", sdf.format(remindStartDate));}if(map.get("remindend")!=null) {Integer remindEnd = Integer.parseInt(map.get("remindend").toString());c.setTime(new Date());c.add(Calendar.DAY_OF_MONTH,remindEnd);remindEndDate = c.getTime();map.put("remindend", sdf.format(remindEndDate));}}Wrapper<JiangchengjiluEntity> wrapper = new EntityWrapper<JiangchengjiluEntity>();if(map.get("remindstart")!=null) {wrapper.ge(columnName, map.get("remindstart"));}if(map.get("remindend")!=null) {wrapper.le(columnName, map.get("remindend"));}String tableName = request.getSession().getAttribute("tableName").toString();if(tableName.equals("dangyuan")) {wrapper.eq("zhanghao", (String)request.getSession().getAttribute("username"));}int count = jiangchengjiluService.selectCount(wrapper);return R.ok().put("count", count);}}

 

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

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

相关文章

LeetCode209. 长度最小的子数组

题目&#xff1a;LeetCode209. 长度最小的子数组 描述&#xff1a; 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl1, …, numsr-1, numsr] &#xff0c;并返回其长度。如果不存在符合条件的子…

改进DevSecOps框架的 5 大关键技术

Markets and Markets的一项研究显示&#xff0c;全球DevOps的市场规模从2017年的29亿美元增加到2023年的103.1亿美元&#xff0c;预测期的年复合增长率(CAGR)为24.7%。人们对DevOps越来越感兴趣&#xff0c;因为DevOps不仅能够压缩软件的交付周期&#xff0c;还能提高交付的速度…

geeemap学习总结(1)——Anaconda-VSCode-geemap环境安装与配置

配置conda geemap 环境 通过Anaconda配置geemap环境较为方便&#xff0c;首先需在系统中完成 Anaconda安装。创建名为geemap的环境conda create -n geemap切换到新建的环境conda activate geemap安装geemap依赖包conda install -c conda-forge geemap 安装mambaconda install …

ACM算法竞赛中在编辑器中使用输入输出样例-CPH

通用方法 我们可以在编辑器中创建三个文件&#xff0c;一个是main.cpp,一个是test.in,一个是test.out分别用来写代码&#xff0c;输入输入数据&#xff0c;显示输出数据 这种方法的好处是不需要插件&#xff0c;在任何编辑器中都可以实现&#xff0c;例如Devc,sublime,vscode…

【Pyhthon实战】Python对全校电费查询采集并可视化分析

前言 今天,我来说说怎么抓取宿舍电费的过程。我们学校是在完美校园交电费的,我们可以不用取抓包完美校园的数据接口,我们可以直接登录学校的一卡通网站,每个学校都有,大家可以自己找找,这里我为什么要抓包呢,因为学校提供的网站已经打不开了,这里就不介绍怎么抓包了。 …

直播电商赋能跨境业务,Live Market创造全民参与的生态圈

全球疫情的影响让跨境电商业务受到了巨大的冲击&#xff0c;但同时也为跨境电商业务带来了新的机遇和挑战。直播电商作为电子商务行业的新兴业务版块&#xff0c;成为了跨境电商业务的一个重要推动力量。在这个背景下&#xff0c;直播电商成为了跨境电商业务的一个主流业务版块…

php-cgi.exe - FastCGI 进程超过了配置的请求超时时限

解决方案一&#xff1a; 处理(php-cgi.exe - FastCGI 进程超过了配置的请求超时时限)的问题 内容转载&#xff1a; 处理(php-cgi.exe - FastCGI 进程超过了配置的请求超时时限)的问题_php技巧_脚本之家 【详细错误】&#xff1a; HTTP 错误 500.0 - Internal Server Error C:…

python爬虫之scrapy框架介绍

一、Scrapy框架简介 Scrapy 是一个开源的 Python 库和框架&#xff0c;用于从网站上提取数据。它为自从网站爬取数据而设计&#xff0c;也可以用于数据挖掘和信息处理。Scrapy 可以从互联网上自动爬取数据&#xff0c;并将其存储在本地或在 Internet 上进行处理。Scrapy 的目标…

vue3中用watch监听响应式数据的注意点

如果你在vue3中使用reactive()方法创建响应式数据&#xff0c;然后又用torefs()方法将响应式数据解构成单一的ref响应式数据。 此时&#xff0c;如果你想用watch监听解构出来单一的响应式数据&#xff0c;watch不起作用。 此时&#xff0c;你需要用watch监听之前的reactive()…

Python如何打开pkl的sample text?(上篇)

点击上方“Python爬虫与数据挖掘”&#xff0c;进行关注 回复“书籍”即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 昨夜闲潭梦落花&#xff0c;可怜春半不还家。 大家好&#xff0c;我是皮皮。 一、前言 前几天在Python私教群【Emma】问了一个Python读取数据的问题&am…

mysql_docker主从复制_实战_binlog混合模式_天座著

步骤1&#xff1a;拉取镜像 docker pull mariadb:latest 步骤2.1&#xff1a;创建两个文件夹用于放置挂载mysql的my.cnf /tianzuomysqlconf/master /tianzuomysqlconf/slave mkdir /tianzuomysqlconf cd /tianzuomysqlconf mkdir master mkdir slave 步骤2.2&#xff1a;创…

ElasticSearch:全文检索及倒排索引原理

1.从全文检索说起 首先介绍一下结构化与非结构化数据&#xff1a; 结构化数据将数据具有的特征事先以结构化的形式定义好&#xff0c;数据有固定的格式或有限的长度。典型的结构化数据就是传统关系型数据库的表结构&#xff0c;数据特征直接体现在表结构的字段上&#xff0c;…

idea数据库快速上手-库操作与表结构和数据操作

引言 对数据库的操作无非就是执行SQL语句&#xff0c;要想熟练操作数据库&#xff0c;就要熟练运用SQL语句。 一&#xff0c;数据库操作 展示当前服务器内的数据库 -- 展示服务器内的数据库 show databases; show schemas; 执行结果&#xff1a; 创建数据库&#xff1a; --…

云技术-混沌工程

目录 混沌工程 故障注入 监控和观测 自动化和持续集成 混沌工程 混沌工程&#xff08;Chaos Engineering&#xff09;是一种实验性的系统可靠性工程方法&#xff0c;主动引入故障和异常来测试系统的弹性和容错能力。混沌工程的核心思想是通过模拟故障场景来验证系统在各种异…

springboot项目打包 以及打包碰到各种问题

PS:以上资料都来自于网络 1.IDEA 将springboot项目打包 IDEA如何打包springboot成jar包&#xff0c;并运行、停止、重启&#xff0c;本地依赖不能打包怎么办_真是6的不行的博客-CSDN博客 2.[WARNING] Error injecting: org.springframework.boot.maven.RepackageMojo 1.注释…

Python中搭建IP代理池的妙招

在Python的爬虫世界里&#xff0c;你是否也想搭建一个功能强大的IP代理池&#xff0c;让你的爬虫无忧无虑地畅游各大网站&#xff1f;今天&#xff0c;我就来教你使用Scrapy框架搭建IP代理池&#xff0c;让你的爬虫更加智能、高效&#xff01;跟着我一步一步来&#xff0c;轻松…

Pytorch基于VGG cosine similarity实现简单的以图搜图(图像检索)

代码如下&#xff1a; from PIL import Image from torchvision import transforms import os import torch import torchvision import torch.nn.functional as Fclass VGGSim(torch.nn.Module):def __init__(self):super(VGGSim, self).__init__()blocks []blocks.append(t…

使用乐观锁解决超卖问题

目录 什么是超卖&#xff1f; 乐观锁和悲观锁的定义 悲观锁&#xff1a; 乐观锁&#xff1a; 乐观锁的实现方式 1.版本号 2.CAS法 什么是超卖&#xff1f; 举个例子&#xff1a;订单系统中&#xff0c;用户在执行下单操作时&#xff0c;可能同一时间有无数个用户同时下单&…

linux静态库与动态库

1、动态库和静态库概念 Linux中的库分为动态库和静态库。 静态库&#xff08;.a&#xff09;&#xff1a;库文件以.a为后缀&#xff0c;程序在编译链接时把库的代码链接到可执行文件中&#xff08;将需要的库函数拷贝一份到代码中&#xff09;。程序运行时不需要再跳转到静态…

vue3报错

这是因为eslint对代码的要求严格导致的&#xff0c;可以在package.json里面删掉"eslint:recommended"&#xff0c;然后重启就可以正常运行了