基于SSM架构的超市管理系统设计

基于SSM架构的超市管理系统设计

目录

    • 基于SSM架构的超市管理系统设计
  • 1 环境及工具
    • 1.1 IDEA软件安装
    • 1.2 JDK环境配置
    • 1.3 MySQL数据库安装
      • 1.3.1常规情况
      • 1.3.2非常规情况
    • 1.4 Tomcat安装
  • 2 部署与设计
    • 2.1 数据库信息创建
    • 2.2项目创建与部署
  • 3 相关说明
  • 4 功能操作说明
    • 4.1 管理员操作
    • 4.2员工操作
    • 4.3 消费者操作
    • 4.4 测试情况
    • 4.5 部分程序代码
  • 5 视频教程
  • 6 源文件

注:因服务器目前维护停止对项目访问,所以通过域名暂时无法访问,设计开发的有相应的APP安卓程序,Mac电脑版应用程序,项目部署经历了6次小的更新与修改,拓展性手机验证码找回密码等安全性验证功能属于下一步设计方向。

设计目标方向:

要实现用户、员工和管理员分类登录模块,商品按供货商分类模块,员工销售商品统计模块,员工考勤模块、管理员对员工信息管理模块。

以下是本篇文章正文内容,下面案例仅供参考

1 环境及工具

软件:IDEA2020.3.3、JDK1.8.0、Tomcat8.0.49、MySQL8.0.17
平台:系统已部署服务器兼容IE7及Chromium等内核的浏览器
访问链接:~~https://www.manmanmeixi.top(维护中暂不支持访问)
参考文档:JDK_API_1_8、HTML5

1.1 IDEA软件安装

(1)IDEA软件是收费性软件,学生可凭借教育邮箱使用,企业单位人员可根据公司正版授权使用。软件的下载链接如下:IntelliJ IDEA: IDEA软件下载
(2)双击软件进行安装,点击Next进行下一步,建议安装到非系统安装盘,以防人为误操作导致系统运行出现故障,如图1-1所示。

在这里插入图片描述
(3)为了方便后期使用和文件的关联,建议创建应用图标和勾选文件关联,如图1-2所示。
在这里插入图片描述
(4)点击下一步进行安装,直到显示安装成功,然后点击Finish按钮,打开软件接受协议,如下图所示。
在这里插入图片描述
在这里插入图片描述
(5)接下来,双击软件输入许可账号密码,建议使用正版授权。浏览器输入账号密码,然后进行提交,直至出现该界面。然后点击激活按钮“Activate”进行激活操作。
(6)激活完成后跳转到如下界面,点击“Close”按钮进行关闭,然后设置背景颜色。
(7)将背景颜色调为亮色,如图1-5所示。
在这里插入图片描述

1.2 JDK环境配置

(1)双击软件,进行安装,点击下一步,如图1-6所示。
在这里插入图片描述

(2)然后选择安装位置,建议更改到非系统盘,然后点击下一步,如图1-7所示。
在这里插入图片描述

(3)确定后,点击下一步进行安装,如下图1-8所示。
在这里插入图片描述

(4)然后点击更改选择新建文件夹,如图1-9所示。
在这里插入图片描述

(5)确定后,点击下一步进行安装,直至安装完成,如图1-10所示。
在这里插入图片描述

(6)安装完成后为了后期操作方便,需要配置环境变量,环境变量配置如下图1-11所示:

在这里插入图片描述

(7)选择再系统变量里面新建,需要创建项如下图所示:
在这里插入图片描述

(8)接下来创建Classpath路径,如下图所示:
在这里插入图片描述

(9)然后在Path路径里面指明jre的位置,如下图所示:
在这里插入图片描述

(10)添加完成后依次点击确定按钮,直至关闭系统环境变量。然后打开cmd命令终端,当输入java -version和javac -version显示如下界面,表示安装成功。
在这里插入图片描述

1.3 MySQL数据库安装

1.3.1常规情况

(1)5.7及其之前版本,正常情况下下载mySQL压缩包,进行解压。
(2)启动服务,登录初始密码为空,可回车成功登录。
操作步骤:
①解压软件解压。
②配置环境变量。

在这里插入图片描述
(3)设置完环境变量之后,要求在管理员权限下执行mysqld --install 命令,将MySQL配到服务启动项中,然后管理员权限下net start mysql 启动数据库服务。如下图所示。
在这里插入图片描述
(4)数据库正常启动后,mysql -u root -p 输入密码,默认密码为空(回车),即可成功登录。
在这里插入图片描述

1.3.2非常规情况

问题一:8.0及其以后版本,解压后环境变量配置,服务启动加载后,数据库无法启动。
解决方案:管理员身份运行,输入命令 mysqld -initialize(回车),mysqld --initialized–insecure(回车);可成功解决数据库服务无法启动问题。
问题二:数据库初始密码不知道,导致登陆失败。
在这里插入图片描述
解决方案:
(1)控制台授权跳过密码检测来重新设置密码。(可以先将密码置空,然后再设置密码)
(2)停止MYSQL服务:net stop mysql
(3)管理员身份运行,输入:mysqld -console --skip-grant-tables --shared-memory
在这里插入图片描述
(4)然后继续输入命令:mysqld --console --skip-grant-tables --shared-memory(不要关闭窗口),再次打开一个终端,然后输入mysql -u root -p(回车,回车)即可登录。
在这里插入图片描述
(5)将密码置为空,操作命令为:update user set authentication_string=‘’ where user=‘root’;
在这里插入图片描述
(6)关闭所有终端,管理员权限输入 net start mysql 服务即可启动,此时登录时密码为空。
问题三:加密规则更改,报caching_password错误。
解决方案:更改加密规则,命令如下:
(1)修改账户密码加密规则并更新用户密码
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘XXXX’ PASSWORD EXPIRE NEVER; #修改加密规则
ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘XXXXX’; #更新一下用户的密码,注:XXXX表示你要设置的密码。
(2) FLUSH PRIVILEGES; #刷新权限,即可解决上述问题。

1.4 Tomcat安装

(1)Tomcat默认是绿色版的,可以下载后解压,然后设置环境变量进行使用。推荐使用8.0的版本,因版本更新后底层的方法有变化,可能会出现其他问题。下载链接如下:Tomcat下载
在这里插入图片描述
(2)下载完成后进行解压操作,如下图所示。解压完成后配置环境变量,环境变量的配置如下:
在这里插入图片描述
(3)接下来设置Classpath变量。
在这里插入图片描述
(4)然后设置Path变量,指明bin目录和lib目录。
在这里插入图片描述
(5)依次点击确定按钮,关闭系统环境变量选项框。cmd命令终端输入startup.bat和shutdown.bat,出现以下界面表示配置成功。
在这里插入图片描述

2 部署与设计

2.1 数据库信息创建

(1)数据库启动成功后,命令终端输入mysql -u root -p然后回车,输入设置的密码,登陆成功后如下所示:
在这里插入图片描述
(2)然后create database market命令,创建market数据库,然后使用market数据库创建相关的表信息。

在这里插入图片描述
可以查看到数据库创建成功,数据库的表信息及相关字段可以查看market.sql相关数据库文件。

2.2项目创建与部署

(1)首先确定项目的导包方式,因考虑到jar包的更新底层会有一些变化,以防出现不兼容的情况,这里不采用自动导包远程下载的方式,改为手动导包的方式。
(2)打开IDEA,创建一个JAVA项目,确定好项目名称和要存放的项目位置。
在这里插入图片描述
(3)创建完成后,首先需要根据数据库表的信息,生成相应的方法和类。这里通过mybatis工具,结合编写好的配置文件,通过命令 java -jar mybatis-generator-core-1.4.0-mysql-page.jar -configfile generatorConfig.xml -overwrite生成相应的方法和xml配置文件。
(4)接下来创建config目录,加载Spring配置文件和数据库调用配置文件,如下所示。
在这里插入图片描述
(5)接下来创建web配置文件,需要点击File----》Project Structure—》Facets----》Web。
在这里插入图片描述
(6)打开相应的类文件发现抱错,原因是相应的jar包没有导入,这里可以事先创建存放所需jar包的文件,以便导入。
在这里插入图片描述
(7)IDEA需要指明所使用的Tomcat版本及相应的端口,配置参数为-Dfile.encoding=UTF-8,配置如下:
在这里插入图片描述
(8)接下来点击File—》Project Structure ----》Modules-----》market,点击加号添加相关jar包。首先点击Library添加Tomcat,如下所示。
在这里插入图片描述
(9)点击加号添加jars文件,选择实现存放好的jar文件夹导入jar文件,如下所示。
在这里插入图片描述
(10)添加完成后,在Project Settings设置页面点击Libraries添加Library。添加完后更新Project dependent里面的文件。
在这里插入图片描述
(11)然后再Project setting设置界面下,Modules里面加载Spring配置文件,如下图所示。
在这里插入图片描述
(12)接下来在Project setting界面下点击Artifacts,点击web应用,默认选择导入方式为空。
在这里插入图片描述
(13)配置完成后点击OK,点击运行按钮,即可运行出开始界面。
在这里插入图片描述

3 相关说明

在这里插入图片描述
前端:前端页面大部分页面使用HUI框架,前端使用jsp结合jquery,js,ajax,css展示页面和跟后端进行交互,
后端:后台使用SpringMvc+spring+mybatis框架,使用服务器session对当前登录用户进行缓存,使用spring-schdule做定时任务处理,上传文件通过将文件复制到tomcat路径下,然后使用url进行访问实现,数据库使用mysql存储数据
数据流说明:当用户使用链接访问页面时,实际是先访问控制器(即controller的接口),控制器通过定义@RequestMapping定义链接路径,如图3-1所示。

在这里插入图片描述
上图的访问路径是:http://ip:端口/login/admin_login,结果返回”admin_login”,实际是指向:admin_login.jsp页面,系统配置前缀(例如:/WEB-INF/views),后缀(.jsp),所以返回”admin_login”
Controller中带有: @ResponseBody的接口返回的是对象,前端通常使用ajax请求请求此类接口:如图3-2所示。
在这里插入图片描述
在这里插入图片描述
Controller一般通过调用service层的方法做一些业务处理,间接对数据库进行增删改查,service层再调用dao层的接口直接对数据库进行增删改查。

4 功能操作说明

4.1 管理员操作

管理员可以进行底层数据库的管理设置,默认交给管理员的初始账号是admin,密码是123。管理员输入正确的账号密码并且通过验证后会进入管理员界面。
(1)登陆成功后首先员工管理界面,在该界面下可以查询员工共信息,修改员工信息,添加员工,如图4-1所示。
在这里插入图片描述
(2)为了保护用户隐私,管理员可以查询消费者的信息。
在这里插入图片描述
(3)管理员可以进行商品的分类管理操作。
在这里插入图片描述
(4)管理员对于商品信息不仅可以通过下载模板批量导入,也可以单个设置商品的数量状态等信息。
在这里插入图片描述
(5)管理员可以查看订单状态和员工共商品卖出情况。
在这里插入图片描述
(6)管理员也可以对供应商进行管理。
在这里插入图片描述
(7)管理员同样可以通过考勤管理,查看员工的考勤状态。
在这里插入图片描述
(8)管理员可以对当前账户的密码进行修改。
在这里插入图片描述

4.2员工操作

(1)员工输入账号密码登录成功后,默认打开的是个人信息页面。
在这里插入图片描述
(2)员工同样可以查询消费者的相关信息。
在这里插入图片描述
(3)员工只拥有对商品查询的权限,没有修改的权限。
在这里插入图片描述
(4)员工可以对订单信息进行添加,订单信息记录了商品,商品数量和消费者。
在这里插入图片描述
(5)员工需要进行考勤操作,默认每天上班只能打卡一次,再次点击会显示已经打卡过了,下班需要进行签退操作。
在这里插入图片描述

4.3 消费者操作

(1)消费者初次使用需要先进行注册,注册时手机号进行了正则校验,注册成功后才能进行登录。如果第一次已经注册成功,再次注册会显示该账号已注册,请重新登录。
在这里插入图片描述
(2)消费者登录成功后可以查看个人订单,个人信息以及修改密码,消费者查看商品如下所示。
在这里插入图片描述

4.4 测试情况

功能名称测试用例预期结果实际结果是否通过
注册功能用户名:kali密码:kali信息注册成功注册成功可以正常登录通过
登录功能用户名:admin密码:123456登录成功,跳转到功能界面成功进入管理员功能界面通过
员工管理删除t1员工数据删除成功该员工信息不存在通过
消费者管理删除kali用户该用户无法登录信息不存在,该消费者无法登录通过
商品管理下架商品牛奶无法购买暂不支持购买通过
考勤管理查询某个员工记录所有考勤记录显示显示打卡日期状态等信息通过
员工考勤T1员工上下班打卡考勤成功,显示考勤状态上班迟到,签退早退通过
修改密码管理员密码改为732916再次输入新密码登录成功输入旧密码提示密码不对,新密码登录成功通过
系统退出员工界面下注销系统跳转到登录界面系统功能界面退出通过

4.5 部分程序代码

注册程序代码:

<div class="login_form">
	<div>
	 <div class="form-group">
		<label  class="t">登录名</label>
		  <input id="name" name="name" type="text" placeholder="请输入登录名"  class="form-control x319 in ">
	</div>
	<div class="form-group">
	  <label  class="t">密码</label>
	    <input id="password" name="password" type="password" placeholder="请输入密码"  class="form-control x319 in ">
	</div><div class="form-group">
	 <label class="t">姓名</label>
		<input id="realName" name="realName" type="text" placeholder="请输入姓名"  class="form-control x319 in ">
	</div><div class="form-group">
	  <label  class="t">联系电话</label>
	    <input id="celPhone" name="celPhone" type="text"  placeholder="请输入中国大陆手机号" onblur="celPhone()" class="form-control x319 in " ></div>
	<div class="form-group">
		<label class="t">验证码:</label>
		<input id="imgCode" name="imgCode" type="text" class="form-control x164 in">
		  <img id="codeImg1" name="codeImg"  alt="点击更换" title="点击更换" class="m"></div>
<div class="form-group space">
<label class="t"></label>
	   <input name="" type="button" onclick="submitForm()" id="submitBtn" class="btn btn-primary btn-lg" value="消费者-注册"> 

登录程序代码:

<div class="form-group">
<label class="t">登录角色</label>
	        <input name="loginType" type="radio" value="1" id="loginType1" style="margin-left:10px;"/>
<label style="color:black" for="loginType1">管理员</label>
			 <input name="loginType" type="radio" value="2" id="loginType2" style="margin-left:10px;"/>
<label style="color:black" for="loginType2">员工</label>
	        <input name="loginType" type="radio" value="3" id="loginType3" style="margin-left:10px;"/>
<label style="color:black" for="loginType3">消费者</label>
</div><div class="form-group space">
	<label class="t"></label>
<input name="" type="button" onclick="submitForm()" id="submitBtn" class="btn btn-primary btn-lg" value="系统登录">
<a style="" href="${pageContext.request.contextPath}/regist/user_info_regist" onclick="" class="btn btn-default btn-lg">注册消费者</a><script type="text/javascript" src="${pageContext.request.contextPath}/static/common/jquery-1.11.1.min.js"></script>
<scriptsrc="${pageContext.request.contextPath}/static/common/utils/listutils.js?v=26573"></script><script>
	$(document).ready(function(e) {
		changeCode();
		$("#codeImg1").bind("click",changeCode);
	});
	function genTimestamp(){
		var time = new Date();
		return time.getTime();}
	function changeCode(){
	$("img[name='codeImg']").attr("src","${pageContext.request.contextPath}/validCode/code?t="+genTimestamp());}
	function submitForm(){
		$.ajax({
			type: 'post',
			url: '${pageContext.request.contextPath}/login/sysSubmit',
			data: {
				'imgCode':$('#imgCode').val(),
				'name':$("#name").val(),
				'password':$("#password").val(),
				'loginType':getCheckBoxVal('loginType')
			},
			success: function(result) {
				if(result.code==1){
					var lt = getCheckBoxVal('loginType');
					if(lt=='1'){
			window.location.href="${pageContext.request.contextPath}/admin/index";
					}
					if(lt=='2'){
	window.location.href="${pageContext.request.contextPath}/staff/index";
					}
					if(lt=='3'){
			window.location.href="${pageContext.request.contextPath}/index";
					}
				}else{
					alert(result.msg);
				}
			}
		});
	}
	$(function(){
	})
</script> 

修改密码程序代码:

<div class="page-container">
 <div class="row cl"  id="nameParentDiv" style="margin-top:20px;margin-left:20px;" > 	<label class="form-label col-xs-4 col-sm-2">旧密码
</label>
<div class="formControls col-xs-8 col-sm-9">
<input type="password" class="input-text"  placeholder="请输入旧密码" id="password1" name="password1">
</div>
</div>
 <div class="row cl"  id="nameParentDiv" style="margin-top:20px;margin-left:20px;" > 	<label class="form-label col-xs-4 col-sm-2">新密码</label>
<div class="formControls col-xs-8 col-sm-9">
<input type="password" class="input-text"  placeholder="请输入新密码" id="password2" name="password2"></div>
</div>
 <div class="row cl"  id="nameParentDiv" style="margin-top:20px;margin-left:20px;" > 	<label class="form-label col-xs-4 col-sm-2">新密码
</label>
<div class="formControls col-xs-8 col-sm-9">
<input type="password" class="input-text"  placeholder="请再次输入新密码" id="password3" name="password3"></div>
</div>
</div>

5 视频教程

(1)管理员身份登录演示视频:
https://pan.baidu.com/s/12deH1WrsrnM4OAha1le8wg?pwd=3vau 提取码: 3vau
(2)员工身份登录演示视频:
https://pan.baidu.com/s/1k1gmU32wIXeeiAEcb0txVw?pwd=un4q 提取码: un4q
(3)消费者身份登录演示视频:
https://pan.baidu.com/s/1lhS-xLiNKrv91gC6wfs8HA?pwd=a668 提取码: a668

6 源文件

程序和数据库文件

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

物联网在能源管理中的应用——青创智通工业物联网解决方案

随着全球能源资源的日益紧张和环境问题的日益突出&#xff0c;能源管理已成为当今社会的重要议题。物联网技术的快速发展为能源管理提供了新的解决方案。本文将介绍物联网在能源管理中的应用及其优势。 一、物联网在能源管理中的应用 1. 智能电网 智能电网是物联网在能源管理中…

el-date-picker限制选择7天内禁止内框选择

需求&#xff1a;elementPlus时间段选择框需要满足&#xff1a;①最多选7天时间。②不能手动输入。 <el-date-picker v-model"timeArrange" focus"timeEditable" :editable"false" type"datetimerange" range-separator"至&qu…

电脑手机文件无线互传方法?利用备忘录更方便

在忙碌的工作生活中&#xff0c;文件传输和分享已经成为了我们日常生活中的一部分。从厚厚的文件夹到电子化的文件&#xff0c;从线下到线上&#xff0c;这一转变让我们的工作和生活变得更加方便高效。 而在这个数字化时代&#xff0c;备忘录成为了我们实现电脑手机文件无线互…

ELADMIN - 免费开源 admin 后台管理系统,基于 Spring Boot 和 Vue ,包含前端和后端源码

一款简单好用、功能强大的 admin 管理系统&#xff0c;包含前端和后端源码&#xff0c;分享给大家。 ELADMIN 是一款基于 Spring Boot、Jpa 或 Mybatis-Plus、 Spring Security、Redis、Vue 的前后端分离的后台管理系统。 ELADMIN 的作者在 Github 和 Gitee 上看了很多的项目&…

ceph的osd盘删除操作和iscsi扩展

ceph的osd盘删除操作 拓展:osd磁盘的删除(这里以删除node1上的osd.0磁盘为例) 1, 查看osd磁盘状态 [rootnode1 ceph]# ceph osd tree ID CLASS WEIGHT TYPE NAME STATUS REWEIGHT PRI-AFF -1 0.00298 root default -3 0.00099 host node10 hdd 0.000…

利用python批量压缩图教程:如何轻松减小图片大小

在日常的编程工作中&#xff0c;我们经常需要处理图像&#xff0c;例如上传、下载、显示、编辑等。有时候&#xff0c;我们需要对图像进行压缩&#xff0c;以减少占用的空间和带宽&#xff0c;提高加载速度和用户体验。那么&#xff0c;如何用Python来实现图像压缩呢&#xff1…

HarmonyOS4.0从零开始的开发教程14Web组件的使用

HarmonyOS&#xff08;十二&#xff09;Web组件的使用 1 概述 相信大家都遇到过这样的场景&#xff0c;有时候我们点击应用的页面&#xff0c;会跳转到一个类似浏览器加载的页面&#xff0c;加载完成后&#xff0c;才显示这个页面的具体内容&#xff0c;这个加载和显示网页的…

​Linux Ubuntu环境下安装配置Docker 和Docker、compose、mysql、中文版portainer

​Linux Ubuntu环境下安装配置Docker 和Docker、compose、mysql、中文版portainer 这篇文章探讨了在Linux Ubuntu环境下安装和配置Docker及其相关工具的过程。首先介绍了Docker的基本概念&#xff0c;然后详细讲解了在Ubuntu系统上的安装步骤。随后&#xff0c;文章涵盖了Dock…

DevEco Studio 鸿蒙(HarmonyOS)项目结构

DevEco Studio 鸿蒙&#xff08;HarmonyOS&#xff09;项目结构 一、操作环境 操作系统: Windows 10 专业版 IDE:DevEco Studio 3.1 SDK:HarmonyOS 3.1 二、项目结构 创建简单的Hello World移动应用项目结构如下图 由上到下说明各个文件夹的作用 .hvigor&#xff1a;存…

【HarmonyOS】【DevEco Studio】安装教程及环境配置问题解决

目录 一、DevEco Studio 安装二、配置环境ohmp安装报错问题解决方法一&#xff1a;注册表删除数值&#xff08;没解决&#xff09;方法二&#xff1a;进入DevEco Studio点击Settings进入设置&#xff08;没解决&#xff09;方法三&#xff1a;自己去官网下载ohmp的包安装&#…

opencv,C++中cv下的函数都无法解释,并且报错为链接器工具错误 LNK2001

检查链接器中的附加依赖项目 opencv_word4.81.lib (release 版本) opencv_word4.81d.lib (debug 版本) 要和这里相对应&#xff0c;不然就会报连接器的错误。

德语 Alt 代码表

德语的 Alt 代码表&#xff0c;请参考下图。 输入方法就是按住 Alt 键不松开&#xff0c;然后在小键盘上输入字符&#xff0c;松开 Alt 键&#xff0c;计算机就能输出上面的字符了。 德语 Alt 代码表 - 系统容器 - iSharkFly德语的 Alt 代码表&#xff0c;请参考下图。 输入方…

13.Spring 整合 Kafka + 发送系统通知 + 显示系统通知

目录 1.Spring 整合 Kafka 2.发送系统通知 2.1 封装事件对象 2.2 开发事件的生产者和消费者 2.3 触发事件&#xff1a;在评论、点赞、关注后通知​编辑 3.显示系统通知 3.1 通知列表 3.1.1 数据访问层 3.1.2 业务层 3.1.3 表现层 3.2 开发通知详情 3.2.1 开发数据…

科技赋能医疗设备管理提质增效,实现医院高质量发展

近日&#xff0c;苏州阿基米德网络科技有限公司与医疗领域头部级媒体健康界&#xff0c;联合举办“数智为擎 提质增效——医学装备智慧管理创新发展论坛”的直播活动。 直播现场&#xff0c;来自上海交通大学医学院附属同仁医院、中华医学会航海医学分会、苏州阿基米德的专家们…

人工智能导论习题集(3)

第五章&#xff1a;不确定性推理 题1题2题3题4题5题6题7题8 题1 题2 题3 题4 题5 题6 题7 题8

大数据机器学习深度解读DBSCAN聚类算法:技术与实战全解析

大数据机器学习深度解读DBSCAN聚类算法&#xff1a;技术与实战全解析 一、简介 在机器学习的众多子领域中&#xff0c;聚类算法一直占据着不可忽视的地位。它们无需预先标注的数据&#xff0c;就能将数据集分组&#xff0c;组内元素相似度高&#xff0c;组间差异大。这种无监…

BSN实名DID服务发布会在北京召开

12月12日&#xff0c;由国家信息中心、公安部第一研究所联合主办&#xff0c;中国移动通信集团有限公司、区块链服务网络&#xff08;BSN&#xff09;发展联盟、中关村安信网络身份认证产业联盟&#xff08;OIDAA&#xff09;承办的“BSN实名DID服务发布会”在北京召开&#xf…

DevExpress WinForms Pivot Grid组件,一个类似Excel的数据透视表控件(二)

界面控件DevExpress WinForms的Pivot Grid组件是一个类似Excel的数据透视表控件&#xff0c;用于多维(OLAP)数据分析和跨选项卡报表。在上文中&#xff08;点击这里回顾>>&#xff09;我们介绍了DevExpress WinForms Pivot Grid组件的性能、分析服务、数据塑造能力等&…

【数据结构】哈希经典应用:布隆过滤器(哈希+位图)——[深度解析](9)

前言 大家好吖&#xff0c;欢迎来到 YY 滴 数据结构 系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过C的老铁 主要内容含&#xff1a; 欢迎订阅 YY滴 数据结构 专栏&#xff01;更多干货持续更新&#xff01;以下是传送门&#xff01; 目录 一.布隆过滤器产生的…

修改Element UI可清空Input的样式

如图所示&#xff0c;修改Input右侧的清空按钮位置&#xff1a; <el-input class"create-catalog-ipt"placeholder"请输入相关章节标题"v-model"currentCatalogTitle"clearable /> // SCSS环境 ::v-deep {.create-catalog-ipt {input {he…