- 博客(306)
- 资源 (4)
- 收藏
- 关注

原创 解决:Could not resolve external workbook name ‘xxx.xls‘ Workbook environment has not been set up.
解决:Could not resolve external workbook name ‘xxx.xls’ Workbook environment has not been set up.如果你用poi 解析Excel 时 遇到了这样一个错,这是说明在你的Excel 中,引用了别的Excel文件的内容,使用下面的获取的方法得以解决这类问题。/** * 读取单元格内容 包括计算公式的结果,引用公式的结果(引用公式值当前的sheet单元格,引用了另一个Excel文件的内容例:='C:\User
2021-11-24 08:55:16
5867
3
原创 RestTemplate-调用远端接口应用场景
服务器端设置一个文件, 需要将文件名称设置的headers内,方便调用方使用。请求远端地址, 并将返回的file文件缓存到本地响应。由于参数在url后面所以.服务端在接收参数时需用。(从url上获取参数)注解,而不是用。在配置文件中添加如下属性: 防止报错。这里的file文件和参数都需要用。(从body体中获取参数)注解。将入参映射到map中。
2025-01-21 17:03:38
336
原创 router 动态路由与懒加载
初始化的时间就会越来越长,因为它要将所有的页面全部引入后才会去渲染页面. 不管你当前页面有没有用到, 初始化是加载的是项目中所有组件,以及ts文件。静态路由: 引入组件然后挂载到router的component下,这样在页面刷新时,就会直接请求引入, 当项目越来越大时,这样,在页面刷新时,不会直接引入,当某个菜单触发式, 它才会引入对应的组件.以及组件内部用到的相关的文件。由于项目变得很大,在浏览器加载时,就会将所有的组件引入进来,导致页面初始化渲染变得越来越慢,官网提供了懒加载的形式引入组件。
2025-01-03 17:14:04
209
原创 Android Killer 无法调用jd-gui.exe
在Android Killer 时,点击图标转换为java代码时,调用jd-gui.exe 弹窗无法验证发布者,点击运行没反应。
2025-01-01 20:47:10
221
原创 Android Studio 安装教程
开始安装,将下载好的android studio 安装程序 双击安装。如果运行时,报如下错误,说明你的安卓虚拟机没有运行成功,运行项目至安卓虚拟机内,成功显示HelloWorld。切记: 项目能否成功运行,有几处版本需要一一对应上,解决:删除指定文件夹内的lock文件。电脑启用BIOS 虚拟化。查看项目中sdk是否对应。
2024-12-26 17:20:39
641
原创 ContOS7安装Docker,解决国内拉取docker镜像Error response from daemon: Get “https://registry-1.docker.io/v2/“: ne
Docker 可以安装在Windows、Linux、Mac 等系统中,但生产环境下,服务器使用Linux中的ContOS局多,所以下面就以Docker在ContOS7中的安装为例来学习Docker的安装。中可以看到具体的安装方式与安装步骤、较旧的 Docker 版本称为 docker 或 docker-engine。如果已安装这些程序,请卸载它们以及相关的依赖项。重启docker服务设置docker 自启动查看docker服务状态拉取镜像会报错。
2024-12-11 23:01:28
957
2
原创 编写一个bat程序, 实现一键下班功能
如上图所示, 每次一到下班, 我们需要将电脑关机,一个关机的动作我们需要点三次鼠标,这样就白白浪费了我们十几秒中的下班时间. 很影响心情, 所以这个下班神器便应运而生了, 只需一秒,电脑立马关机.
2024-12-06 14:52:07
185
原创 自制一键杀死端口进程程序# tomcat 如何杀死tomcat进程
简简单单的两个指令,总是记不住,也懒的记, 每次端口冲突的时候, 都是直接查百度,很苦逼, 如果有一个程序,直接输入端口号,点击按钮直接杀死进程,岂不爽歪歪.
2024-09-12 13:47:15
575
原创 sql 如何在查询时移除某一行数据以及这一行的上一行数据
以上是表内的结果集,由于申请人撤销了操作,所以它之前的操作是无效的, 在页面也不显示, 申请人撤销这个字段是固定的,它之前的操作不固定, 所以如果想要过滤掉它之前的数据,我们需要先过去到申请人撤销那条数据的下标,再去-1.想法, 我们可以先查询上面的结果集, 并且通过rownum为每个结果集定义一个固定的序号, 查询结果集。由于结果集被反复使用到,我们在mybatis中可以将结果集sql 提出到sql片段中,便于反复调用。这样我们就得到如下结果。
2024-08-22 13:17:43
580
1
原创 java: 将json字符串转换为Map对象,如何保证其顺序不变.
大家都知道Map对象的LinkedHashMap是有序的,但它的顺序只能保证录入的顺序, 如果我们是将json字符串用JSONObject转换为json对象,并强转为LinkedHashMap,即便使用了有序map, 结果还是无序的.那是因为我们在从字符串转换为json对象时,已经是无序了. 解决无序问题,我们只能从转换为json对象入手, 当json对象时有序的,那么强转成LinkedHashMap也是有序的.
2024-07-12 09:14:34
730
原创 前端array如何转换为json
原数据数据: [{“templateField”,“name”,“value”: “张三”},{“templateField”,“age”,“value”: “18”}]希望转换后的数据: {name: “张三”, age: 18}
2024-07-12 08:51:32
595
原创 前端导出文件时,后端代码出错如何将错误信息返回给前端展示
前端导出excel,axios 需要设置responseType=“blob”, axios的response监听器需要判断后端返回的是否时blob类型,并将整个response返回给axios接口的then(),然而后端我们代码如果正常的情况下,返回的blob,异常情况下,返回的异常信息字符串。java层:再catch内对response重新定义,并且自定义一个状态码;vue 端判断自定义状态码,并做异常信息输出。axios 响应拦截器。
2024-07-10 16:36:07
860
1
原创 arco disign vue 日期组件的样式穿透
我们如果只想在需要的日期组件更改样式, 就设置日期参数:trigger-props,并指定一个class类名, 通过这个类名进行穿透, 这样就不会影响其他的日期组件. 当然这个class类名要在整个项目里做到唯一, 如果产生相同的类名,那么样式会相互影响. 因为即便你定义了class类名,但是style标签 不允许加scoped, 它的作用依旧是全局, 所以要保证class类名的唯一性.它会将其绑定到日期的div的class内, 这样我们就可以 通过这个class类名为起点,对日期组件进行样式穿透.
2024-06-28 17:23:52
1289
2
原创 一键生成insert,update,delete,的mybatis sql 语句
由于最近写增删改查,对与开发来说,编写一个insert和update 语句是十分耗时耗力的,因为有大量的字段要复制粘贴。粘贴完还要去比对一下有没有漏粘的,很耗费精力,于是就想着写一个sql,通过手动指定哪张表,运行这个sql后,程序便自动将表中的字段补充上去。自己在做一点微调即可,省下来大部分的开发时间,我们只需要将结果粘贴到mybatis.xml 映射文件中即可。
2024-06-13 20:53:51
563
原创 SortTable.js + vxe-table 实现多条批量排序
环境: 功能: 实现表格拖动排序,支持单条排序,多条排序实现思路: 官网只有单条排序的例子,网上也都是简单的使用,想要实现多条排序,就要结合着表格的复选框功能,在对其勾选的行统一计算!最终效果:实现代码
2024-06-12 16:23:51
1243
原创 arco disign 封装数值范围组件
NumRange组件只对值进行双向绑定, option:参数可参考官网a-input-number的属性,父组件赋值默认值为空数组, 或带值的数组。可再此基础上对外扩展事件,方法,参数.
2024-05-29 09:24:27
590
2
原创 Windows 安装mysql 和 Redis
2. 等待一段时间, 选择默认,点击next。2. 双击msi文件,进行redis安装.1.下载完成后,找到文件双击安装程序。
2024-05-16 10:59:08
557
原创 网上买到的扩容U盘或内存卡如何恢复原始大小
十年前在淘宝上花了三十多买了一个64g的U盘,当时感觉很划算,但是后来发现老是存了一部分东西后,便会出错,不知道什么原因,后来知道有一些扩容卡的存在,将小内存扩容到大内存,骗过了计算机识别,但是实际容量并没有发生改变。特别注意,当U盘修复好后,可用内存可能为0 ,但是U盘内我们看不到任何的内容,我们只需要将该U盘格式化一下,便可以使用了。如果提示坏块太多,无法修复, 我们只需要将u盘格式化为空盘,然后重新使用量产工具,打开量产工具,插入u盘,他会自动检测U盘信息,我们只需要点击 全部开始按钮即可,
2024-04-03 15:34:54
11674
2
原创 Springboot 利用自定义注解+切面,实现 查询数据集合时主动加序列字段
序列字段. 我在上面工具类中,返回值定义的是List集合,如果你的事实体类,或Object对象,可仿照原先的进行扩展.利用自定义注解+切面,实现 查询数据集合时主动加序列字段, 只需要在Dao接口,方法上引入注解即可。将上面代码放入你的工具类中,我们只需要在Dao接口的指定方法上添加。注解, 它将会在返回结果中加上。
2024-03-21 13:42:41
460
2
原创 WebSocket入门+实践
WebSocket是一种网络通信协议。RFC6455定义了它的通信标准。WebSocket 是HTML5开始提供的一种单个TCP连接上进行全双工通讯的协议。HTTP 协议是一种无状态的、无连接的、单向的应用层协议,它采用了请求/响应模型。通信请求只能由客户端发起,服务端请求做出应答处理。这种通信模型有一个弊端:Http 协议无法实现服务器主动向客户端发起消息。
2024-03-13 08:42:02
913
原创 vue router 解决路由带参数跳转时出现404问题,小数点无法放在url上
我的页面是从一个vue页面router跳转到另一个vue页面,并且利用windows.open() 浏览器重新创建一个页签。但是不知道为什么有时候可以有时候又不行,经过反复测试与分析,最终发现是因为有一个参数的值里包含了小数点。, 小数点是浏览器合法字符,不能通过encode编码转义,于是乎:利用windws.atob() 将json字符串转换未base64,接收端用windows.btoa(),将base64转义过来。但是,多次测试发现,window.atob() 参数内存在中文会报错。
2024-03-08 17:59:58
508
原创 Mybatis 如何引用其他文件中的sql 片段
假设: 有一些通用的sql,在整个项目中都有可能使用的到, 但是我不太想定义java接口,结合着java逻辑来实现功能, 又或者,在每一处的mapper.xml内都定义sql片段, 那么如果需要调整sql,我就需要调整好多处相同的代码. 如何后期维护方便,使用起来又简单呢?想法: 单独创建一个mapper.xml文件, 只用来存放这些sql片段,没有接口的定于,接着业务中需要用到该sql片段的地方,就去引用这个外部的sql 片段即可.
2024-03-05 13:06:26
1239
原创 vue3 + vite:打包部署后,动态组件渲染404问题解决
问题描述: 当需要渲染动态组件,动态的组件路径配置在数据库中时,如下图,本地运行能正常访问,用vite打包部署后,生产上改路径为404.起初认为是,vite打包后的文件都是.js, 当页面加载后从数据库拿来的路径是.vue, 并且是src/xxx/xxx.vue 这种绝对路径形式的,所以就找不到文件了。
2024-02-01 14:01:40
1811
原创 手搓逆向工程,不依赖任何框架,纯java实现
逆向工程原理很简单。至于别人的逆向工程项目,完全是基于mybatis开发,通过jdbc连接到数据库,获取到指定的表字段,表结构,从而动态生成实体类,更有甚者连mapper.xml 文件 涉及到的增删改查的sql片段,以及dao层,service层接口都给你拼好了,属于奶妈级别的了。因此,我并没有连接mybatis的需要,因为实际开发中,那些生成出来的关于表结构的代码我并不关心,以及实体类,我也不需要,所以我不依赖任何的pom文件,完全基于java底层逻辑实现,它可以运行在任何java项目里。
2023-12-22 11:37:47
564
原创 TaxtArea中内嵌一张发送图片,该图片实现属性悬浮放大功能
TaxtArea中内嵌一张发送图片,该图片实现属性悬浮放大功能,离开还原效果,点击发送按钮后,发送图片变为loading,
2023-12-18 13:49:05
526
原创 java多线程学习- 下
可以以new Thread(()->{// 线程执行的认为}).start();这种形式开启一个线程. 当run()方法运行结束,线程对象会被GC释放.在真实的生产环境中,可以需要很多线程来支撑整个应用,当线程数量非常多时, 反而会耗尽CPU资源.如果不对线程进行控制与管理,反而会影响程序的性能,线程的开销主要包括:创建与启用线程的开销,线程销毁的开销;线程调度的开销;线程数量受限CPU处理器数量.
2023-12-04 15:56:44
951
原创 java多线程学习 -中
在JDK5中增加了Lock锁接口,有ReentrantLock实现类,ReentrantLock锁称为可重入锁,它功能比synchronized 多。锁的可重入是指,当一个线程获得一个对象锁后,再次请求该对象锁时是可以获得该对象的锁的。5.2 ReentrantLock5.2.1 ReentrantLock 的基本使用调用lock方法获得锁,调用unlock 方法释放锁。使用lock锁同步不同方法中的同步代码块ReentrantLock 锁的可重入性lockInterruptibly() 方
2023-10-25 09:53:09
166
原创 arco-disign vue + vue3 封装一个“下拉单选组功能”
手搓一个下拉框多组单选组件,实现采用框架 arco-disign vue + vue3组件采用:a-popover、a-input-tag、a-radio-group、a-radio实现效果:调用组件
2023-10-24 10:21:31
464
原创 java多线程学习 上
*** 1) 定义类继承Thread*/// 2) 重写Thread 父类中的run()// run() 方法体中的代码就是子线程要执行的任务。@OverrideSystem.out.println("这是子线程打印的内容");import comSystem . out . println("JVM启动main线程,main线程执行main方法");// 3) 创建子线程对象 MyThread thread = new MyThread();
2023-09-20 14:00:18
463
原创 如何创建HttpServletRequest对象
我们可以不用传递,在需要用到request的地方,通过调用ServletRequest对象就可以轻松的拿到request对象。但是某些情况,我们需要传递这个request 到各种工具类中,传递这个request 相对要麻烦一些,
2023-09-01 15:25:01
2643
原创 POI groupRow 折叠分组,折叠部分不显示问题
折叠组是什么?即可但是万万没想到,最终实现出的结果,合并的组,有一部分并没有渲染出来,如下图:因为我的合并数据,是结合着数据逻辑的特殊动态计算出来的,一直认为是我算法的问题,或者是数据的问题,这是我的算法,经过反复调试,和数据比对,数据应该没问题,针对计算出来的合并组行和Excel的行进行比对,没有发现任何问题,现在很大程度上认为是POI的BUG。
2023-08-24 14:35:24
1171
原创 JLSX 中文文档,利用Excel 模版指令导出Excel
XLS Area: jx:area(lastCell = “”) 如图:area一般定义在表格的开头第一个单元格,唯一的参数:lastCell,定义在d4,当Java获取到这个矩形对象时,内部的${}取值和一些jxs标注才会生效。如果你的excel很复杂,表格,下面还有其他的东西,比如列表和图片之类的,这时候我们就不能定义D4了,需要定义你的模板占用的最后一个行号,否则,在动态循环数据时,会将不是该区域的内容覆盖掉,相反,如果在该区域内,你最顶上。
2023-08-17 10:34:25
998
SSM 框架所需要的所有jar 非maven
2020-03-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人