目录1、if(常用)2、where3、trim4.choose、when、otherwise5、foreach5.1批量删除5.2批量添加6、sql标签总结Mybatis框架的动态SQL技术是一种根据特定条件动态拼装SQL语句的功能,它存在的意义是通过标签解决拼接SQL语句字符串时的问题1、if(常用)if:根据标签中test属性所对应的表达式决定标签中的内 ......
293
0
0
2023-04-04
目录Spring 事务管理接口1、事务管理器接口 PlatformTransactionManager2、事务定义接口 TransactionDefinitionSpring 事务管理的实现方法1、没有事务管理的情况分析2、通过配置 XML 实现事务管理3、利用注解实现事务管理4、在业务层实现事务管理事务(Transaction)是访问数据库的一个操作序列, ......
311
0
0
2023-04-04
目录SpringBoot框架接收multipart/form-data文件SpringBoot接收文件总结SpringBoot框架接收multipart/form-data文件今天遇到一个坑,这里给大家介绍一下。现在很多文件上传类型都是multipart/form-data类型的,HTTP请求如下所示:可是问题就在于如果用传统的Struts2或者servle ......
786
0
0
2023-04-04
目录阻塞锁非阻塞锁锁的四种状态无锁状态偏向锁轻量级锁重量级锁可重入锁自旋锁读写锁互斥锁悲观锁乐观锁公平锁非公平锁显示锁和内置锁轮询锁和定时锁对象锁和类锁锁粗化锁消除信号量独享锁共享锁分段锁死锁案例和排查阻塞锁含义:多个线程同时调用一个方法的时候,所有的线程都被排队处理了,让线程进入阻塞状态进行等待,当获得相应的信号(唤醒、时间)时,才能进入线程的准备就绪的状 ......
307
0
0
2023-04-04
目录Java8锁SynchronizedReentrantLockAQSvolatile自旋锁 ,自旋锁的其他种类CAS 自旋锁CAS的实现原理首先强调一点:Java多线程的锁都是基于对象的,Java中的每一个对象都可以作为一个锁。同时,类锁也是对象锁,类是Class对象Java8锁核心思想关键字在实例方法上,锁为当前实例关键字在静态方法上,锁为当前Clas ......
267
0
0
2023-04-04
目录前言使用依赖配置配置文件demo代码执行效果原理分析队列创建生产者消费者整个流程总结思考前言工作中常常会遇到这样的场景,如订单到期未支付取消,到期自动续费等,我们发现延迟队列非常适合在这样的场景中使用。常见的延迟队列的优秀实现有rabbitMQ的死信队列,RocketMQ的延迟队列等,但是了有时候项目没有特别的大,没有引入类似的消息中间件,但是了又遇到了 ......
376
0
0
2023-04-03
目录es创建索引和mapping索引和type分开创建索引和type一次创建更改elasticsearch中索引的mapping查看旧索引的mapping创建一个自定义mapping的新索引把旧索引的数据reindex到新索引上删除旧索引按照步骤2创建test索引把test-new索引的数据reindex到test索引上查看test索引的mapping总结e ......
385
0
0
2023-04-03
目录前言一、架构流程图二、代码实现流程1.引入库2.代码流程前言定时任务动态管理分为两种方式:方式一:Web前台配置Trigger触发器(关联Cron)、ThreadPoolTaskScheduler类创建Scheduler方式下进行Schedule调度任务的动态管理方式二:基于已创建的Schedule调度任务的动态管理,即以组件类 @Scheduled注解 ......
376
0
0
2023-04-03
目录前言一、登录时序图二、配置与代码1.引入库2.代码文件参考文档前言本文章主要从spring security安全认证登录内部调用流程来流程分析登录过程。一、登录时序图时序原图二、配置与代码1.引入库pom.xml: <!-- Spring框架基本的核心工具 --> <dependency> ......
346
0
0
2023-04-03
目录MyBatis使⽤PageHelper1.limit分⻚2.PageHelper插件MyBatis使⽤PageHelper1.limit分⻚(1)概念:①页码:pageNum(用户会发送请求,携带页码pageNum给服务器)②每页显示的记录条数:pageSize,例如:百度默认的是每页展示10条记录③实际上每一次在进行分页请求发送的时候,都是要发送两个数 ......
410
0
0
2023-04-02
springboot 整合 mqtt最近由于iot越来越火, 物联网的需求越来越多, 那么理所当然的使用mqtt的场景也就越来越多,接下来是我使用springboot整合mqtt的过程, 以及踩过的一些坑.mqtt服务器使用的是 EMQX, 官网 : 这里搭建的时候如果你使用的是集群 记得开放以下端口:好了, 搭建成功下一步就是我们的java程序要与mqtt ......
661
0
0
2023-04-01
目录前言浏览器端服务器端前言大部分的web开发者,开发的业务都是基于Http协议的:前端请求后端接口,携带参数,后端执行业务代码,再返回结果给前端。作者参与开发的项目,有一个报警推送的功能,服务端实时推送报警信息给浏览器端;还有像抖音里面,如果有人关注、回复你的评论时,抖音就会推送相关消息给你了,你就会收到一条消息。有些同学会说了,基于Http协议也能实现啊 ......
387
0
0
2023-03-30
@Validated分组校验及扩展一、介绍在springBoot项目中,我们往往要对参数进行校验,如果在代码中进行,就会显得很杂乱冗余我在以前有介绍过@Valid注解的使用和扩展但上面这篇文章整理相关的知识点有局限性,主要体现在以下方面没有分组校验没有嵌套校验校验都是针对一个字段的,没有多个字段之间关联的校验;比如说开始日期必须小于结束日期故此,得使用@Va ......
402
0
0
2023-03-29
一、介绍MyBatis的XML动态SQL相信大家不陌生了,本文主要讲解一些比较容易出错、忘记,比较冷门的写法。二、内容1)bind标签这是一个冷门的标签,它的作用是可以使用OGNL表达式创建一个变量设置到上下文中。比如说要进行一次模糊查询,使用bind标签来进行拼接百分号<?xml version="1.0" encoding="UTF-8"?> ......
321
0
0
2023-03-29
Java的NIO入门一、介绍Java NIO是从Java 1.4版本开始引入的一个新的IO ,在传统的IO模型中,使用的是同步阻塞IO,也就是blocking IO。而NIO指的是New IO,代指新IO模型。有些博客指的是not blocking IO,非阻塞IO,叫哪种都行,都是NIO。在NIO中,最重要的两个东西就是缓冲Buffer和通道Channel ......
418
0
0
2023-03-28