- 博客(23)
- 收藏
- 关注
原创 rabbitmq保证消息不丢失的方法
一条消息从生产者发送到RabbitMQ,首先会发送到Exchange,对应回调函数confirm()。3.消费者从RabbitMQ服务器获取队列中存储的数据消费,但是消费者程序出错或者宕机而没有正确消费,导致数据丢失。2.生产者发送消息到RabbitMQ服务器过程中,RabbitMQ服务器如果宕机停止服务,消息会丢失。1.存储在队列中,如果队列没有对消息持久化,RabbitMQ服务器宕机重启会丢失数据。把自动签收改成手动签收,正常消费则返回确认签收,如果出现异常,则返回拒绝签收重回队列。
2024-04-15 12:00:02
272
原创 Spring计时器StopWatch使用
Spring计时器StopWatch使用StopWatch是位于org.springframework.util包下的一个工具类,通过它可方便的对程序部分代码进行计时(ms级别),适用于同步单线程代码块。一个StopWatch实例一次只能开启一个task,不能同时start多个task,并且在该task未stop之前不能start一个新的task,必须在该task stop之后才能开启新的task,若要一次开启多个,需要new不同的StopWatch实例StopWatch stopWatch = ne
2021-08-05 17:14:43
451
原创 常用分表-hash,时间,末尾取值
常用分表通过sharding分表引入依赖:<dependency> <groupId>org.apache.shardingsphere</groupId> <artifactId>sharding-jdbc-spring-boot-starter</artifactId> <version>4.0.0-RC3</version></dependency>–hash分表:1.配置文
2021-08-04 14:24:05
421
原创 用easyPoi导出excel,带多sheet,合并单元格,合计,单元格金额类型
用easyPoi导出excel,带多sheet,合并单元格,合计,单元格金额类型文档连接:http://easypoi.mydoc.io/1.引入依赖 <!-- 导出文件工具 EasyPoi实现Excel读写管理测试用例 --> <dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-spring-bo
2021-07-15 17:05:39
3163
原创 2021/04/16一周总结
周总结近期有点整合了点表的数据,小问题不断,在此记录一下,避免重蹈覆辙。1.关于mybatis-plus的问题**(1)**调用IService接口报出现 Invalid bound statement (not found) 异常在此附上官方地址(mybatis-plus)官方有对不同的问题常见清空做出解答,这里主要记录下我的问题发生的原因:因为初次使用这个接口,只将要对接的接口实现了IService接口,就直接调用了IService的方法,这里就报这个异常了。解决:首先引入jar包,在这里如
2021-04-16 14:10:35
122
原创 Excel导出的3种方式java
导出Excel文件最近又写了一个有关生成excel文件并导出的需求,下面总结下我所遇到的有关导出excel的方法。poi方式写个ExcelUtil工具类@Slf4jpublic class ExcelUtil { public static final String XLSX = ".xlsx"; public static final String XLS = ".xls"; /** * GBK编码. */ public static fina
2021-04-01 14:54:35
617
1
原创 2021/3/28-2021/4/1学习总结
2021/3/28-2021/4/1学习总结1.自测的时候,如果有依赖,@Autowired则必须用@RunWith()及@SpringbootTest()注解来设置。要不映射的bean总是null的报空指针,并且spring-boot-test.jar的版本必须与spring依赖的基础包一致,否者无效。2.具有重复性多的代码,且代码的结构相同的话一般建议使用模板模式。3.设置标记保存在内存里的话,可以直接放到内存中,也可以放到redis中,直接放到内存中,重启项目的话,会重新创建。4...
2021-04-01 14:34:16
146
原创 redis相关使用方法
redis定义redis是一个基于内存运行的高性能,单线程的已key_value形式存储数据的nosql数据库,支持分布式,操作具有原子性,持久性。Redis的应用场景有哪些?存储热点数据(热点数据:高频读,低频写)计数器,限流器排行榜,发布订阅分布式锁,共享session,消息队列系统Redis的数据类型String操作:get/mgetset/msetgetset哈希类型链表类型(list)集合类型(sets)zset有序集合...
2021-04-01 14:20:30
245
1
原创 拦截器有关问题(二)---跨域$PreFlightHandler cannot be cast to org.springframework.web.metho
跨域引起的问题问题:AbstractHandlerMapping$PreFlightHandler cannot be cast to org.springframework.web.method.HandlerMethod今天出现了这个问题就很懵逼,心情好烦躁,感觉考虑的问题太少了,测试的时候也忘记了如果有跨域问题的话会不会有问题,然后就有教训了。。。记录一下分析:前面传的是PreFlightHandler类型,而我用的是HandlerMethod所以报错了;看网上说,可能是拦截器跨域的时候问题;一
2021-03-24 17:16:31
1479
原创 拦截器有关问题(一)---preHandle执行了两次
拦截器最近要写一个对于每个接口请求提前做下乱码检测,这个时候因为项目中的接口特别多,这个时候想到要写一个拦截器,在写拦截器的时候遇到了一些问题记录一下:1.spring boot 2.0+后的版本因为拦截器的WebMvcConfigurerAdapter这个抽象类已经废弃,导致不适用,不起效果了2.换成WebMvcConfigurer后,每次请求,在打印日志的时候发现preHandle总是在Controller处理之前执行一次和在Controller后又执行了一次。自定义拦截器的实现1.定义一个自
2021-03-23 14:49:22
2989
原创 idea利用maven打包。。。总是报错
idea打包部署1.在pom文件中配置路径权限2.将三个文件放到指定目录下,这个放到C:/key下面3.最后一定要保证setting文件中的用户名和密码是当前最新的用户名密码4.进行打包
2021-03-22 13:32:48
316
原创 2021/3/10学习笔记
2021/3/10学习笔记@Min(value=1) //定义最小为1private Long page;模糊查询1.risk_refuse_msg like concat("%",#{riskRefuseMsg},"%")2.risk_refuse_msg like ‘${riskRefuseMsg}%’求状态为成功的数量,状态为成功的总金额,总数量(用一个sql查出) select sum(IF(credit_status='SUCCESS',apply_amo
2021-03-10 14:01:02
129
原创 Mybatis异常-java.lang.IllegalArgumentException: invalid comparison:java.util.Date and java.lang.String
Mybatis异常-java.lang.IllegalArgumentException: invalid comparison:java.util.Date and java.lang.String原因:在Mapper.xml中对非字符串类型的数据进行了是否为空判断,如date类型的数据Create_Date != ‘’,decimal类型的数据price != ''都会报这个错误只有字符串才需要非空判断...
2021-03-04 15:56:18
221
1
原创 多数据源怎么做???
多数据源时利用注解@DS(value =“数据源名称”)注解写在类上或放上上来切换数据源配置文件中配置数据源#配置默认数据源 primary: base datasource: # 数据源-1,名称为 base base: username: root password: Root#123 driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localho
2021-03-03 10:51:35
180
原创 rabbitmq的配置以及发送消息
rabbitmq的配置以及发送消息我们平时在项目中,会用到rabbitmq来帮我们进行通知消息。。我们来看一下他是怎么用的。配置文件首先我们要先在application配置文件中配置我们的rabbitmq的参数信息。下面举个例子spring: rabbitmq: host: 10.1.92.8 port: 5970 username: guest password: guest创建配置类@Data@ConfigurationProper
2021-03-02 15:38:15
466
原创 Mysql 之 优化SQL步骤一
Mysql之优化SQLexplain分析执行计划查询到效率低的 SQL 语句后,可以通过 EXPLAIN或者 DESC命令获取 MySQL如何执行 SELECT 语句的信息,包括在 SELECT 语句执行过程中表如何连接和连接的顺序。查询SQL语句的执行计划 :explain select * from loan_account_differ where id=21结果参数含义...
2021-03-02 15:20:34
105
原创 日期的时区转换(后端)
日期的时区转换(后端)String str="2020-08-28T00:00:00Z";String str1=str.replace("Z","UTC");SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");//转换时区格式SimpleDateFormat format2 = new SimpleDateFormat("yyyy-MM-dd");//转换String str2=format
2021-02-26 14:58:24
403
原创 spring事务调用失效怎么做?
spring事务调用失效怎么做?场景:事务失效场景,那就是 Spring 自调用,就是在 Service 方法内,调用另一个加 @Transactional 注解的方法,发现事务失效。解决:事务使用过程中有以下几个注意事项:事务只能应用到 public 方法上才会有效;事务需要从外部调用,Spring 自调用会失效;建议事务注解 @Transactional 一般添加在实现类上。...
2021-02-26 14:55:29
80
原创 redis配置类
redis配置类@Configurationpublic class RedisConfig { @Bean @ConditionalOnProperty("spring.redis") public RedisTemplate<String, String> redisTemplate(RedisConnectionFactory factory) { StringRedisTemplate template = new StringRedisTe
2021-02-26 14:52:59
294
原创 分页的方式,使用场景
分页的3种方式第一种limit通过sql的limit关键字进行分页select * from user where sex='男' limit 1,10;缺点:利用limit分页全表扫描,越往最后查,越慢第二种通过最大id加limit分页select * from user where id>#{maxid} limit 10;弥补了第一种方式的缺点,常用第三种方式分页插件添加依赖<dependency> <groupId>com.github.p
2021-02-26 14:47:44
340
原创 将旧表中5000w数据放到新建的100张表中
现在有一个旧表,表中有近5000w条数据,想要将他们按照编号的最后两位来进行转移到相应的表中,现在表有100张,分别为:00,01,02.。。。99.。。。。。明白需求后就上代码了,首先遇到的一个问题就是查询。。5000w条数据如何去查询,若是按照普通的查询那么时间是一个问题,这个时候我们就用到了分批次查询,分批次查询的方法有几种,我用到的是分页分批查询。进行分页分批查询 int page=1;//开始页int limit=15000;//每页查询条数int start=limit*(page-
2020-07-30 16:58:16
244
1
原创 poi导出excel文件单元格设置:数值(BigDecimal),日期
poi导出excel文件单元格设置:数值(BigDecimal),日期日期格式单元格private static CellStyle getDateCellStyle (Workbook wb) { //设置日期数据样式 CellStyle dataStyle = getCellStyle(wb); DataFormat dataFormat = wb.getCreationHelper().createDataFormat(); short date = dataFor
2020-07-30 16:26:42
5133
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人