- 博客(175)
- 资源 (5)
- 收藏
- 关注
转载 ShiftRows方法使用
将rowIndex 到 LastRowIndex的数据移动向上移动一行,即将rowIndex行覆盖掉。n:移动n行数startRow到endRow数据域(正数:向下移,负数:向上移)操作:ShiftRows(rowIndex-1,LastRowIndex,1)1、工作薄中出现空行,想要删除该空行,假设空行的行号:rowIndex,ShiftRows 是HSSFSheet工作薄的方法。工作薄最后一行行号:LastRowIndex。startRow:开始行。endRow:末尾行。
2024-11-11 20:12:46
415
转载 Poi通过模板导出excel数据
注意:poi版本尽量使用高版本jar包,3.15版本jar包在使用 shiftRows方法时移动后的行合并样式会丢失。5.2.2不存在该bug。如果想查具体的请查看poi版本发布记录。后续代码可实现填充类似如图的excel模板,未实现合并表格与公式计算。最近做了一个数据导出,用poi根据自定义模板填充数据完成。Poi通过模板导出excel数据。1.项目jar包依赖。
2024-11-11 20:11:16
203
1
转载 private-logs vue+spirngboot前后端数据加解密(基于AES+RSA实现)
案例只针对post请求这里使用’Content-Type’: ‘application/x-www-form-urlencoded;为键值对的形式(非json)AES加密数据,RAS加密AES的key。
2024-11-01 14:22:10
58
转载 POI导出Excel,浏览器不下载的问题解决
我是使用Ajax访问的后台方法,但是Ajax的数据传输都是字符串形式,而POI返回的Excel数据是二进制流的形式,所以前台会出现乱码问题,导致浏览器认为无法下载。既然无法使用Ajax请求,还有window.location.href,或者form表单提交等方式。在前台控制器的XHR-response中查看返回数据,发现是乱码,经过一番查找发现了问题所在。由于window.location.href属于get请求,所以使用了后者,代码如下。在做POI导出Excel的时候,遇到了浏览器不弹出下载框的问题。
2024-10-15 21:25:28
142
转载 CompletableFuture异步编程事务及多数据源配置详解(含gitee源码)
因为很多业务场景使用了多线程编程,涉及到DML操作(select、update、insert、delete)中的增删改,必须要保持数据在业务上的一致性,比如修改A表,插入B表,这两步在业务上必须是原子的,有一个失败,对于另外表的操作都必须回滚,而spring中对不同线程的数据库连接是单独的,放在ThreadLocal中,多个线程之间不共享事务,下面通过几个浅显易懂的示例,来解释不同场景下的多线程报错以及处理办法。子线程虽然抛出异常,但是事务没有回滚,数据正常插入了!
2024-09-23 14:12:29
292
原创 IDEA开发工具的Debug使用
https://blog.youkuaiyun.com/qq_41489540/article/details/117810172
2024-09-14 11:06:56
478
转载 BigDecimal 常用知识点总结
注:加减乘除取余a,b都不能为空,否则会产生 Exception in thread “main” java.lang.NullPointerException。返回一个BigDecimal数组,返回数组中包含两个元素,第一个元素为两数相除的商,第二个元素为余数。
2024-08-30 10:14:01
307
原创 大数据ETL开发之图解Kettle工具入门到精通(附上kettle安装包)
https://blog.youkuaiyun.com/yuan2019035055/article/details/120409547
2024-08-30 10:07:41
576
原创 大数据ETL开发之图解Kettle工具入门到精通(附上kettle安装包)
https://blog.youkuaiyun.com/yuan2019035055/article/details/120409547
2024-08-30 10:05:47
456
原创 Oracle的to_date()函数
很多Java程序员也许会直接的采用“yyyy-MM-dd HH:mm:ss”的格式作为格式进行转换,但是在Oracle中会引起错误:“ORA 01810 格式代码出现两次”。在Oracle数据库中,Oracle to_date()函数是我们经常使用的函数,下面就为您详细介绍Oracle to_date()函数的用法。原因是Oracle的SQL中不区分大小写,MM和mm被认为是相同的格式代码,所以Oracle的SQL采用了mi代替分钟。– 返回当前 时间的秒毫秒,可以指定秒后面的精度(最大=9)
2024-08-30 10:04:38
1114
转载 【JQuery】jquery弹出页面窗口
在网页开发中,经常会遇到需要弹出一个页面窗口的场景,比如用户登录、提示、确认等等。而使用jQuery库可以简化这个过程,使得弹窗的实现更加方便快捷。本文将介绍使用jQuery实现弹出页面窗口的步骤,并提供相应的代码示例和解释。
2024-08-06 10:37:21
1440
转载 【Docker】docker日志详细讲解
grep过滤命令, 把 error 日志都写到指定文件,可以写一个脚本把感兴趣的内容写入文件,进一步还可以导入我们的日志系统,方便查看。比如只想查看某个时间点之后的日志,使用 --since 选项,显示从指定时间点到最新的日志。效果和Linux的 tail-f filename一样,可以把最新内容刷新显示到屏幕上。效果和Linux的 tail-n20 filename 一样,显示最后20行的内容。cat 捕获命令将所有信息指定日志文件里面。
2024-08-06 10:32:38
246
转载 【CSS】css---input和textarea 输入框点击有边框解决方法
【代码】【CSS】css---input和textarea 输入框点击有边框解决方法。
2024-08-06 10:27:31
249
转载 【JQuery】快速上手jQuery:样式操作、效果
语法参数(1)params: 想要更改的样式属性,以对象形式传递,必须写。属性名可以不用带引号, 如果是复合属性则需要采取驼峰命名法 borderLeft。其余参数都可以省略。(2)speed:三种预定速度之一的字符串(“slow”,“normal”, or “fast”)或表示动画时长的毫秒数值(如:1000)。(3)easing:(Optional) 用来指定切换效果,默认是“swing”,可用参数“linear”。(4)fn: 回调函数,在动画完成时执行的函数,每个元素执行一次。
2024-08-05 10:39:09
139
转载 Optional的使用
Optional.of(T t) : 创建一个 Optional 实例,t 必须非空;Optional.empty() : 创建一个空的 Optional 实例Optional.ofNullable(T t):t 可以为 null源码解析of和ofNullable两者都是获取Option实例,并且都是静态的of 会抛出空指针异常// 把实例放入Optional容器// 放入Optional容器时进行判空// 为空的情况下抛出空指针异常return obj;
2024-07-10 20:22:54
254
转载 Spring注解之恋:@Async和@Transactional的双重奏
在Spring的开发中,我们常常会使用@Async来实现异步操作,而@Transactional则是用于事务管理的关键注解。然而,在它们的美妙联合中,有时也会潜藏着一些鲜为人知的坑。就像电影中的一对情侣,它们相互吸引,却也有相杀的时刻。让我们走进这场注解之恋,一探@Async与@Transactional的相爱相杀之谜。@Async 和 @Transactional 是 Spring Framework 中用于处理异步操作和事务管理的两个重要注解。
2024-06-03 11:48:40
772
转载 SpringBoot项目中控制线程池、多线程事务提交、回滚的方式
对于大批量数据库操作,使用手动事务提交可以很多程度上提高操作效率多线程对数据库进行操作时,并非线程数越多操作时间越快,按上述示例大约在2-5个线程时操作时间最快。对于多线程阻塞事务提交时,线程数量不能过多。来源 | https://blog.youkuaiyun.com/qq273766764/article/details/119972911@Autowired@Override//模拟总数据i < 10000;i++) {
2024-05-29 14:50:52
2070
2
转载 同一个类中,无事务的方法调用有事务的方法问题原因及其解决方法
②在xxxServiceImpl中,用(xxxService)(AopContext.currentProxy()),获取到xxxService的代理类,再调用事务方法,强行经过代理类,激活事务切面。但当同一个class中的方法A调用方法B时,会发现方法B中的异常不再导致回滚,也即事务失效了。而在同一个class中,方法A调用方法B,调用的是原对象的方法,而不通过代理对象。如果是在同一个类中的方法调用,则不会被方法拦截器拦截到,因此事务不会起作用,必须将方法放入另一个类,并且该类通过spring注入。
2024-05-22 16:53:22
717
转载 BigDecimal四舍五入用法介绍
BigDecimal.setScale() 方法可以将 BigDecimal 对象四舍五入后保留指定小数位数,其中第一个参数表示小数点后保留的位数,第二个参数表示使用四舍五入策略。其中,ROUND_HALF_UP 是 BigDecimal 官方提供的四舍五入策略,表示直接将舍去部分加 0.5 后再进行向上舍入。
2024-05-10 20:51:54
106
转载 【Elasticsearch】ES常见操作
Elasticsearch是面向文档(document oriented)的,这意味着它可以存储整个对象或文档(document)。然而它不仅仅是存储,还会索引(index)每个文档的内容使之可以被搜索。在Elasticsearch中,你可以对文档(而非成行成列的数据)进行索引、搜索、排序、过滤。在es当中,每个字段都会有默认的类型,根据我们第一次插入数据进去,es会自动帮我们推断字段的类型,当然我们也可以通过设置mappings来提前自定义我们字段的类型。
2024-04-22 14:53:35
1078
原创 java 通过JdbcTemplate 访问oracle数据库分页查询数据
https://blog.youkuaiyun.com/qq_43038965/article/details/109449288
2024-04-11 15:26:06
378
转载 【Redis】之 RedLock 分布式锁
【Redis】之分布式锁简单来说就是 RedLock 是 Redis 实现分布式锁的一种方式。但不同点在于 RedLock 是 Redis 的作者 Antirez 在单 Redis 节点基础上引入的高可用模式。
2024-04-08 13:59:29
1792
转载 stream流多字段排序
如果只进行单个字段的升序降序排列,我们使用reversed() 或者 Comparator.reverseOrder() 都可以如果要进行多个字段的升序降序排列,我们还是使用 Comparator.reverseOrder() 会更优雅、更好理解一些。
2024-04-02 11:29:56
1212
转载 Java使用LocalDate获取某个月的第一天和最后一天日期
以一个月为周期进行查询时,如果用户没有选择查询的月份,我们想要默认查询当月或上个月的数据,这时,如何获取到一个月的第一天和最后一天日期呢?以下介绍两种方式采用LocalDate格式日期的实现,以及采用LocalDateTime格式日期的实现。直接上代码!// 获取当前月的第一天// 获取当前月的最后一天2021-11-112021-11-012021-11-30// 当前月份减1// 获取当前月的第一天// 获取当前月的最后一天2021-11-112021-10-11。
2024-03-19 10:04:35
2702
转载 RocketMQ-03
实际应用中要结合业务场景,合理设置刷盘方式和主从复制方式, 尤其是SYNC_FLUSH方式,由于频繁地触发磁盘写动作,会明显降低 性能。通常情况下,应该把Master和Save配置成ASYNC_FLUSH的刷盘 方式,主从之间配置成SYNC_MASTER的复制方式,这样即使有一台 机器出故障,仍然能保证数据不丢,是个不错的选择。
2024-03-11 20:29:47
384
转载 RocketMQ-02
ID生成器IDWorker:Twitter雪花算法异常处理类CustomerException:自定义异常类CastException:异常抛出类常量类ShopCode:系统状态类响应实体类Result:封装响应状态和响应信息。
2024-03-06 21:01:35
68
转载 docker详解(尚硅谷阳哥)
Docker是基于Go语言实现的云开源项目。Docker的主要目标是“Build,Ship and Run Any App,Anywhere”,也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的APP(可以是一个WEB应用或数据库应用等等)及其运行环境能够做到“一次镜像,处处运行”Linux容器技术的出现就解决了这样一个问题,而 Docker 就是在它的基础上发展过来的。
2024-03-06 11:53:17
261
转载 RocketMQ-01
消息队列是一种“先进先出”的数据结构其应用场景主要包含以下3个方面应用解耦系统的耦合性越高,容错性就越低。以电商应用为例,用户创建订单后,如果耦合调用库存系统、物流系统、支付系统,任何一个子系统出了故障或者因为升级等原因暂时不可用,都会造成下单操作异常,影响用户使用体验。使用消息队列解耦合,系统的耦合性就会提高了。比如物流系统发生故障,需要几分钟才能来修复,在这段时间内,物流系统要处理的数据被缓存到消息队列中,用户的下单操作正常完成。
2024-03-01 10:57:35
101
转载 黑马---Redis入门到实战【实战篇】
缓存就是数据交换的缓冲区(称作Cache),是存储数据的临时地方,一般读写性能较高什么是缓存?一种具备高效读写能力的数据暂存区域缓存的作用?降低后端负载提高读写响应速度缓存的成本?开发成本运维成本一致性问题。
2024-02-27 16:28:37
338
1
转载 黑马---Redis入门到实战【基础篇】
为了节省内存空间,我们并不会使用JSON序列化器来处理value,二是统一使用String序列化器,要求只能存储String类型的key和value。为了在反序列化时知道对象的类型,JSON序列化器会将类的class类型写入json结果中并存入Redis,会带来额外的内存消耗。Redis的SortedSet是一个可排序的set集合,与java中的TreeSet有些类似,但底层数据结构却差别很大。Redis是一个key-value的数据库,key一般是String类型,不过value的类型多种多样。
2024-02-27 14:10:51
147
原创 rocketmq 顺序消费
https://blog.youkuaiyun.com/loveme888/article/details/103006512
2024-02-20 11:52:02
142
原创 SpringBoot集成RocketMQ实现延迟消息
https://blog.youkuaiyun.com/weixin_44758923/article/details/128469052
2024-02-20 11:51:31
204
转载 RocketMQTemplate 发送消息的高级用法
通过深入了解 RocketMQTemplate 的高级用法,我们可以更灵活地控制消息的发送和路由。从延迟消息到事务消息,RocketMQTemplate 提供了多种方式满足不同业务场景下的需求。在实际应用中,要根据业务需求和性能考虑来选择使用哪种方式。通过合理使用 RocketMQTemplate,我们可以更好地利用 RocketMQ 提供的特性,构建高效可靠的分布式消息系统。
2024-02-20 11:35:58
753
转载 RocketMQTemplate基本使用
两个消费者组 groupA、groupB,每组中有两个消费者: groupA-1 groupA-2 groupB-1 groupB-2。使用任一生产者发出消息,groupA中的两个消费者都可以收到消息,groupB中的随机一个消费者也可以收到消息。针对不同的ConsumerGroup中,同一个消息,每个消费组中都有一个消费者需要消费。使用任一生产者发送消息,每个消费者组都能收到消息。针对同一个ConsumerGroup中,同一个消息只有一个消费者消费即可。同一个消息,每个消费者都需要消息。
2024-02-20 11:08:24
1061
转载 图解23种设计模式
指将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者模式。它是将一个复杂的对象分解为多个简单的对象,然后一步一步构建而成。它将变与不变相分离,即产品的组成部分是不变的,但每一部分是可以灵活选择的。
2024-02-20 10:32:18
341
转载 Seata分布式事务失效,不生效(事务不回滚)的常见场景
当Seata没有正常结束时,每个服务对应数据库中的undo_log表和seata持久化数据库的brach_table、global_table、lock_table、undo_log表都有可能有脏数据没有正确删除,从而导致服务一直回滚,却不成功。**解决办法:**清除undo_log表以及seata持久化数据库的brach_table、global_table、lock_table、undo_log表中的脏数据。那么可以分别在服务A、服务B、服务C的事务方法中添加。(2)每个服务中的XID不一致。
2024-02-18 14:22:52
1964
1
转载 SpringCloud整合Seata1.6.1部署与使用Nacos方式
启动成功后,即可访问 http://127.0.0.1:7091/#/login 改地址进入seata的webui,用户名与密码默认为seata,可在上面的1.2章节中中提到的application.yml配置项:console.user中修改。在上述库中添加seata的配置表,sql文件存放在:seata/script/server/db/mysql.sql中。seata官网:http://seata.io/zh-cn/index.html。修改store.db配置项下的配置,连接到自己的数据库。
2024-02-08 17:24:26
606
2
用SWT、Socket实现聊天室
2020-12-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人