Mybatis—Plus重要知识点删除数据1,根据id删除一个数据
1mapper.deleteByid(id)
2,Map多条件删除
12345//map.put("删除列","删除列对应的值")//条件之间是and关系map.put("id",6)map.put("user_name","小明")mapper.deleByMap(map)
3,QueryWrapper多条件删除
12345678//根据QueryWrapper多条件删除 ,条件之间是and关系User user=new User();user.setUserName("哈哈");user.setUserEmail("12433");//在new时将user设置进去QueryWrapper<User> wrapper=new QueryWrapper<>(user);//执行删除int result = this.userMapper.delete(w ...
linux常用指令ls展示当前目录的所有内容(子目录)
ls -a 展现所有目录包括隐藏目录
ls -l 展示不包括隐藏目录的所有目录的权限信息
pwd展示当前目录的名称
clear清除全屏小杂碎
ll查看权限信息
cd选择进入的目录
mkdir创建目录
mkdir -p test1/test2
生成多层目录
rmkdir test1
删除当前空目录
rmkdir -p test1/test2
这样可以将不为空的test1删除
cp拷贝文件
cp 拷贝的文件 拷贝位置
rm删除文件
-f 不会出现警告,实现强制删除
-r 递归删除目录
-i 互动,询问是否删除
1rm -rf 文件名 #删除文件
mv1.移动文件
2.重命名文件
1mv install.sh kuangstudy/ #将install.sh移动到kuangstudy目录
1mv kuangstudy kuangstudy1 #将kuangstudy重命名为kuangstudy1
touch创建一个文件
1touch file2.txt
chmod设置用户权限
1234r:4 ...
RabbitMQ消息队列rabbit教程
RabbitMq的应用架构
RabbitMq使用场景
应用解藕
异步提速
削峰填谷
快速开始RabbitMq启动
12345cd E:\APP\RabbitMq\rabbitmq_server-3.7.4\sbin.\rabbitmq-plugins enable rabbitmq_management rabbitmq_delayed_message_exchange.\rabbitmqctl start_app
注意:这里的routingkey有三种情况
生产者to消费者模式,中间没有交换机,routingKey为队列名称
Work Queue工作队列模式,存在交换机并且指定消息分发模式(fanout),则routingKey不起作用,为空字符串,
Routing路由工作模式(direct),存在交换机,交换机按照路由routingkey将消息分发到不同队列
1.发送消息
2.接收消息
RabbitMq消费模式
生产者to消费者模式
Work Queue工作队列模式
Pub/Su ...
python设置pip镜像源1pip config set global.index-url https://mirrors.ustc.edu.cn/pypi/web/simple
项目打包方法项目结构
安装pyinstaller1pip install pyinstaller
生成.spec文件1pyinstaller -F main.py(main.py是入口程序)
删除生成的build和dist文件夹
编辑.spec文件
将项目下的其他python文件加入到analysis里面
重新打包1pyinstaller main.spec
试运行exe文件注意如果出现闪退可能因为配置的其他py文件目录不一致
可以将exe文件从dist移出来
黑马点评前端nginx项目启动
nginx重新加载配置文件1nginx.exe reload
session实现短信验证
redis实现短信验证
发送验证码存入redis
验证成功登录,并以token为键,保存用户数据,把token返回前端
在拦截器中对token进行校验获取用户信息来显示登录状态
库存减一的方法123boolean success = seckillVoucherService.update() .setSql("stock = stock-1") .eq("voucher_id", voucherId).update();
乐观锁解决高并发CAS法
添加版本号version,简化以库存为版本号
弊端:
多线程并执行,库存安全问题虽然会解决,但是购买失败率大大提高,扩大了业务上的安全问题,并且多次访问数据库压力巨大
改进:
在每次减库存的时候都判断当时的库存是否大于0
悲观锁实现一人一单//synchronized (字符串){代码块}设置悲观锁,此时多个线程中只有首先 ...
IDEA高级IDEA快捷键添加try catch快捷键:ctrl+alt+t格式化代码的快捷键:ctrl+ alt +L把一行代码上下移动:alt + shift + 上下按钮显示当前界面所有方法:ctrl + F12复制当前行:ctrl + w查看当前类中所有方法:alt+7查询方法的实现:ctrl+alt+b统一改变名称:shift+F6将对应代码封装成方法:ctrl+alt+m将小写变成大写:ctrl+shift+u快速复制一行:ctrl+D查看类继承图:Ctrl+Alt+U查看类子类:Ctrl+H自动生成方法注解
输入/** + Enter
IDEA类和方法注释模板设置(非常详细)_idea 类注释模板-CSDN博客
12345678910/** * @description: * @author: fansea * @date: 2024/7/29 14:07 * @param: [serialPort, writeBuffer, type] * @return: void **/ public static void ...
安装elasticsearch1.部署单点es1.1.创建网络因为我们还需要部署kibana容器,因此需要让es和kibana容器互联。这里先创建一个网络:
1docker network create es-net
1.2.加载镜像这里我们采用elasticsearch的7.12.1版本的镜像,这个镜像体积非常大,接近1G。不建议大家自己pull。
课前资料提供了镜像的tar包:
大家将其上传到虚拟机中,然后运行命令加载即可:
12# 导入数据docker load -i es.tar
同理还有kibana的tar包也需要这样做。
1.3.运行运行docker命令,部署单点es:
1234567891011docker run -d \ --name es \ -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \ -e "discovery.type=single-node" \ -v es-data:/usr/share/elasticsearch/data \ -v es-plugin ...
湖科大校园美食项目笔记HTML标签z-index:可以设置元素堆叠顺序,用来解决两元素不重叠问题,z-index值越大堆叠,就会叠在上面
position:absolute:设置绝对位置
获取html文本框中的值(dom)1.var inputDom = document.getElementById(“text”);//找到元素,假如给input元素加了id属性 且 值为:text
2.var text = inputDom.value; //获取元素值
Controller写法
OSS对象上传照片到服务器
form表单enctype属性enctype:规定了form表单在发送到服务器时候编码方式,有如下的三个值。
application/x-www-form-urlencoded:默认的编码方式。但在用文本的传输和MP3等大型文件的时候,使用这种编码就显得效率低下。
multipart/form-data:指定传输数据为二进制类型,比如图片,mp3,文件
text/plain:纯文本的传输。 ...
Git学习笔记查看配置123git config -l 查看所有配置git config --system --list 查看所有系统配置git config --global --list 查看用户配置
设置用户名与邮箱
12git config --global user.name "fansea"git config --global user.email "3065941239@qq.com"
提交代码
代码提交的四步流程
12345git clone https://gitee.com/dqhaifanfan/campus-food-forum-project.git #clone至本地,也是第一步(或者使用 git init # 在当前目录新建一个Git代码库)git add . #将代码提交至缓存区git commit -m "第一次提交" #将代码提交到本地仓库git push #将项目提交到远程仓库
查看分支123456789101112131415161718192021# 列出所有本地分支g ...