- 博客(58)
- 问答 (1)
- 收藏
- 关注
原创 mybatis返回map数据空值字段不显示--处理方式
springMVC+mybatis查询数据,返回resultType=”map”时,如果数据为空的字段,则该字段省略不显示。
2022-10-10 11:09:33 2715
原创 Redis与MySQL数据双写一致性问题
Canal介绍:canal [kə’næl],中文翻译为 水道/管道/沟渠/运河,主要用途是用于 MySQL 数据库增量日志数据的订阅、消费和解析,是阿里巴巴开发并开源的,采用Java语言开发;历史背景是早期阿里巴巴因为杭州和美国双机房部署,存在跨机房数据同步的业务需求,实现方式主要是基于业务 trigger(触发器) 获取增量变更。从2010年开始,阿里巴巴逐步尝试采用解析数据库日志获取增量变更进行同步,由此衍生出了canal项目;作用:数据库镜像。数据库实时备份。索引构建和实时维护
2022-05-18 10:30:11 1136 3
原创 单例模式详解
介绍:单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。
2022-05-17 22:39:46 134
原创 布隆过滤器BloomFilter
通常我们会遇到要判断一个元素是否在某个集合中的业务场景,一般想到的是将集合中所有元素保存起来,然后通过比较确定。链表、树、散列表(又叫哈希表,HashTable)等等数据结构都是这种思路。但是随着集合中元素的增加,我们需要的存储空间也会呈现线性增长,最终达到瓶颈。同时检索速度也越来越慢,上述三种结构的检索时间复杂度分别为O(n),O(long),O(1)。这个时候布隆过滤器(Bloom Filter)就应云而生。布隆过滤器介绍:布隆过滤器BloomFilter实际上是一个很长的二进制数组+一系列.
2022-05-17 20:03:13 658
原创 Redis缓存雪崩,缓存击穿,缓存穿透原因及处理方案
缓存雪崩介绍: 缓存在同一时间大面积的失效,后面的请求都直接落到了数据库上,造成数据库短时间内承受大量请求。原因:1️⃣redis主机挂了,redis全盘崩溃。2️⃣缓存中有大量数据同时过期。处理方式:针对redis服务不可用的情况:1️⃣采用redis集群(主从+哨兵),避免单机出现问题整个缓存服务都没办法使用。2️⃣限流,避免同时处理大量的请求。针对热点缓存失效的情况:1️⃣设置不同的失效时间比如随机设置缓存的失效时间。2️⃣缓存永不失效。缓存穿透介绍: 请求去查询一条
2022-05-12 11:43:03 292
原创 Redis 常见数据结构以及使用场景分析
一,String介绍: String数据结构是最简单的key-value类型。常用命令: set,get,strlen,exists,decr,incr,setex等。应用场景:一般常用在需要计数的场景,比如用户的访问次数,热点文章的点赞转发数量等等。二,List介绍: 一个双端链表的结构,容量是2的32次方减1个元素,大概40多亿。常用命令: rpush,lpop,lpush,rpop,lrange,llen等。应用场景: 一般用在栈、队列、消息队列等场景。(①微信公众号订阅的消息,②
2022-05-11 15:45:16 896
原创 JS根据指定字符串日期获取月份
指定日期不为空,返回指定日期的月份,指定日期为空,则返回当前日期的月份function ConverToDate(date) { var result = ['一', '二', '三', '四', '五', '六', '七', '八', '九', '十', '十一', '十二']; var m = new Date().getMonth() if (date != '' && date != null) { m = new Date(date)..
2022-04-26 10:34:50 1286
原创 springboot集成mongodb实现增删改查
springboot集成swagger+mongoDB, 并实现对mongoDB进行CRUD操作
2022-02-15 15:40:35 496
原创 MyBatis调用带有返回结果之output参数类型的存储过程,并返回output参数
sqlALTER PROCedure [dbo].[pr_qaa_MrbReasonAdd] @lcID Char(15), @lcFlowCardNo Char(25), @lcPdctNo varChar(20), @lcBatchN
2022-01-19 16:09:14 438
转载 mybatis批量插入出错 com.microsoft.sqlserver.jdbc.SQLServerException: 传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。
处理方法int totalNumber = 20; //每次插入的条数int totalNumberIndex = totalNumber; //每次插入之后的下标for (int index = 0; index < recordList.size();) { //下标插入动态添加,不自增 if(totalNumberIndex >= recordList.size()){ //如果最后一批下标大于等于这个数组,说明这是最后一批 totalNumberI.
2021-12-25 09:57:18 390
转载 SQLSERVER日期格式化
转载于:https://www.cnblogs.com/Thenext/p/9690426.html日期时间转字符串:Select CONVERT(varchar(100), GETDATE(), 0); 05 16 2006 10:57AM Select CONVERT(varchar(100), GETDATE(), 1); 05/16/06 Select CONVERT(varchar(100), GETDATE(), 2); 06.05.16 Select CONVERT(.
2021-12-24 16:23:04 378
原创 centos7下apache-tomcat-9.0.41安装教程
一,安装准备使用工具: Xshell 7+Xftp 7Tomcat: apache-tomcat-9.0.33.tar.gz二,在/usr/目录下创建tomcat目录--创建tomcat目录mkdir /usr/java--进入java目录cd /usr/tomcat--返回usr目录cd ..--查看目录中的文件ls三,将apache-tomcat-9.0.33.tar.gz上传到/usr/tomcat目录下四,解压JDKtar -zxvf apache-tomcat
2021-12-22 11:54:29 1048
原创 centos7下jdk1.8安装教程
一,环境准备使用工具: Xshell 7+Xftp 7JDK: jdk-8u60-linux-x64.tar.gz二,在/usr/目录下创建java目录--创建java目录mkdir /usr/java--进入java目录cd /usr/java三,将jdk-8u161-linux-x64.tar.gz上传到/usr/java目录下四,解压JDKtar -zxvf jdk-8u60-linux-x64.tar.gz命令解压之后,在进入/usr/java目录下查看五,环境
2021-12-21 16:49:58 3932
原创 MySql数据库基础
一,数据库1. 创建数据库方法一:直接创建create database 数据库名;方法二:创建数据库并指定字符集create database 数据库名 character set 字符集;方法三:判断数据库是否已经存在,不存在则创建数据库(推荐使用);如果MySQL中已经存在相关数据库,则可忽略此创建语句,不在创建数据库create database if not exists 数据库名;注意:DATABASE不能改名。一些可视化工具可以改名,他是创建新库,把所有表复制过来,再删旧
2021-12-18 17:01:53 654
原创 SQLSERVER登录名分配指定表和存储过程
--分配表权限grant select on 表名 to 用户名--取消表权限revoke select on 表名 to 用户名;--分配存储过程权限grant exec on 存储过程 to 用户名
2021-12-11 15:59:46 604
转载 SQL Server ID自增列设置为重新从1开始
SQL Server 数据库原有ID字段,是自增列的,后来把数据全删除后,ID是接着以前的继续增长的.由于对大量数据的频繁删除,导致ID变的越来越大.影响操作.所以通过以下操作就可实现dbcc checkident('表名',reseed,0)原文链接:https://blog.csdn.net/zhengjia0826/article/details/43149953...
2021-11-27 14:31:23 1713
原创 IDEA第一次上传项目到码云仓库
一,安装插件打开IDEA,点击File–Settings点中菜单pluagins然后输入gitee进行搜索,然后安装安装后需重启IDEA二,配置gitee找到 Gitee,点击 + 号图标,输入码云的帐号密码即可三,第一次提交项目相关内容输入之后,点击Share全选,点击Add即可。四,码云查看上传的项目...
2021-11-23 15:00:55 558
原创 Lambda表达式
语法一:无参数,无返回值() -> System.out.println(“Hello Lambda”);语法二:有一个参数,并且无返回值(x) -> System.out.println(x);《若只有一个参数,(x) 小括号可以不写:x -> System.out.println(x);》语法三:有两个以上的参数,有返回值,并且在Lambda体中有多条语句Comparator comparator = (x,y) -> {System.out.println(“语..
2021-10-28 14:10:36 104
转载 SQL Server行转列、不确定列的行转列
本文转载自:https://www.cnblogs.com/kylan/p/10844414.html-- 创建模拟数据CREATE TABLE #TempSubjectResult(StudentName NVARCHAR(50) NOT NULL,StudentSubject NVARCHAR(50) NOT NULL,StudentGrade DECIMAL(4,1) NOT NULL)INSERT INTO #TempSubjectResult(StudentName,Stude.
2021-10-21 11:35:40 463
转载 java方法设置超时时间
public static void main(String[] args) { Callable<String> task = new Callable<String>() { @Override public String call() throws Exception { //设置执行响应时间的方法体 //执行时间需要10秒钟
2021-10-12 10:32:16 8706
原创 SqlServer触发器自动生成编号(标识符+年月日+三位流水号)
编号示例:标识符+年月日+三位流水号(PEPS20211011001)CREATE TRIGGER Order_Review_Stream ON reviewnews After INSERT AS BEGIN declare @review_id int,@review_stream varchar(15),@temppid varchar(15) --从Inserted表中取得主键的自动编号 select @review_id=review_id f.
2021-10-11 16:17:43 2555 1
原创 MySQL基本架构
注:本文参考自林晓斌老师的著作《MySQL实战45讲》MySQL 的基本架构示意图,从中你可以清楚地看到 SQL 语句在 MySQL 的各个功能模块中的执行过程。大体来说,MySql可以分为Server层和存储引擎层两部分。Server层包括连接器、查询缓存、分析器、优化器、执行器等,涵盖MySql的大多数服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。存储引擎层负责数据的存储和提取。其架构模式是插件式的,支持I.
2021-10-11 14:01:45 360
原创 Java使用Hutool实现读取Excel数据并存入数据库中
java导入Excel表格数据本文可参考:https://www.hutool.cn/docs/#/poi/Excel读取-ExcelReader一,引入依赖 <!-- 导入Excel,版本要兼容,不然报错的 --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId>
2021-09-23 15:56:55 5201
原创 JAVA基础知识点
文章目录一、Java基础1,JDK、JRE和JVM之间的关系2,== 和 equals 的区别是什么?3,final 在 java 中有什么作用4,&与&&区别5,两个对象的hashCode()相同,则equals()是否也一定true一、Java基础1,JDK、JRE和JVM之间的关系JDK(Java Development Kit):Java开发工具包,jdk是整个Java开发的核心,它集成了jre和一些好用的小工具(javac.exe,java.exe,jar.exe
2021-09-09 08:55:01 3684
原创 SQL Server查询,动态查询一年数据,每个月数据分组
查询一年数据,每个月数据分组,分组时间为,本月一号八点到下个月一号八点,除了使用union拼接还有什么其他的方法吗时间字段向前调8小时,然后按正常的月分组统计select ISNULL(b.count,0) as count,a.month from ( select 1 as month union select 2 as month union select 3 as month union select 4 as month union select 5 a.
2021-08-24 16:40:56 2776
空空如也
sql查询,查询一年数据,每个月数据分组
2021-08-21
TA创建的收藏夹 TA关注的收藏夹
TA关注的人