- 博客(131)
- 资源 (7)
- 收藏
- 关注
原创 mysql大屏统计
我们在做大屏项目的时候,会用到很多统计的功能,最常见的功能就是统计数量,比如有一个注册功能,要统计有多少条记录通过审核,多少条记录没通过审核,审核通过率是多少等等,最常用的统计sql语句如下,使用count(*)来统计,这种方式优点是简单,缺点是没法一次性统计出所有数据,性能比较差。
2024-10-23 09:41:16 341
原创 mysql中的json查询
需要用到json_contains函数,第一个参数是表的字段名,第二个参数是要查询的值,如果是字符串需要用双引号,第三个参数是path路径。查询语句跟普通的sql语句差不多,也就是字段名要用到path表达式。
2024-09-20 10:03:48 628
原创 mysql树形结构返回是否叶子节点
我们界面上展示树形结构的时候往往会用到懒加载,做懒加载需要知道哪个节点是叶子节点,这样叶子节点就不需要继续往下加载了,这种需求可以通过sql实现先来看下表结构。
2024-09-06 09:31:45 502 1
原创 高级组件封装技巧--tree的封装
el-tree是一个经常用到的组件,但是它不支持v-model,使用起来很麻烦,这篇教程封装了el-tree,使得它使用起来很简单,并且支持搜索,支持叶子节点横向排列,这样就算数据多了,也会显的很紧凑,同时它支持提交halfCheck节点,这点在做菜单管理的时候很有用,如果数据中不保存halfCheck,你需要向上遍历父节点,但是保存了父节点在回显的时候会有问题,因为只要父节点选中子节点都会选中,这些在组件封装中都做了处理。
2024-09-04 17:01:46 550
原创 自定义校验--校验json长度
mysql8中支持json格式的字段,某些情况下使用很方便,但也带来一个问题,就是它的最大长度不能设置,最大支持4GB,如果有恶意程序保存一条4GB的数据进去,估计这张表就要卡死了,所以要加一个自定义校验,校验下json的长度,这里使用hibernate validator校验。
2024-08-28 14:22:27 336
原创 easyexcel--多sheet页导入导出
核心代码就是下图里面的,使用EasyExcel.writeSheet创建一个sheet,然后用excelWriter写入就行了,很简单。
2024-08-19 17:13:11 986
原创 easyexcel--导入导出实现自定义格式转换
Override@Override/*** 这里读的时候会调用* @return*/@Override/*** 这里是写的时候会调用 不用管* @return*/@Override= null) {/*** 解析表达式 0:男,1:女,2:未知,根据0返回男或者男返回0* @param propertyValue 参数值* @param converterExp 表达式* @param separator 分隔符,例如逗号。
2024-08-19 15:29:40 743
原创 高级组件封装技巧--按钮的封装
我们做一些重要操作的时候,往往需要弹窗一个提示框,告诉用户这是一个需要小心的操作,是否继续,用户点击确定后才会开始执行,这种操作写起来比较繁琐,如下所示,要写一堆代码,今天我来讲解下组件的高级封装技巧,让你一行代码搞定有弹出框的点击操作。
2024-08-13 15:08:02 667
原创 js日期处理库--dayjs
返回指定时间的开始或结束,这在某些日期查询里面很有用,比如查结束日期往往要传那天的23:59:59,就可以用endOf('day')来实现。这个功能在发布文章,发布消息时很有用,我们在看评论时可以看到发布在多少时间前,这个用day.js可以轻松实现。如果超出这个范围,它会进位到年份。使用format函数来格式化日期,支持的格式化字符见下表。接受1到31的数字。如果使用的是element plus,可以直接使用。返回增加一定时间的复制的 Day.js 对象。返回减去一定时间的复制的 Day.js 对象。
2024-08-09 13:32:25 950
原创 easyexcel使用教程--导入导出简单案例
java中操作excel的库是poi,但是poi有很多问题,使用复杂,内存占用大等,阿里开源了一个操作excel的库叫easyexcel,它基于poi做了很多优化,平时读写excel建议使用这个库文档地址: 关于Easyexcel | Easy Excel 官网在实体类上写excel字段注解,ExcelProperty注解就是导出的列名,ExcelIgnoreUnannotated表示没加ExcelProperty注解的字段不会写入可以看到,excel数据成功写入了,但是标题换行了,如果想标题不
2024-08-08 17:03:34 439
原创 axios请求大全
本文讲解axios封装方式以及针对各种后台接口的请求方式axios的介绍和基础配置可以看这个文档: 起步 | Axios中文文档 | Axios中文网axios封装的重点有三个,一是设置全局config,比如请求的基础路径,超时时间等,第二点是在每次请求前往请求头里面塞token,第三点是处理请求的response,如果出错了进行统一的错误处理发送GET请求我们先来看swagger文档,这个请求是get请求,传递的参数是query,也就是跟在url后面的键值对,类似于?key1=val1&key2
2024-07-23 16:20:57 1677
原创 多租户分库分表同步数据库DDL脚本
我们在实现多租户系统的时候,为了数据安全和性能,往往会把数据库设计成一个租户一个数据库,如下图,主库记录了租户信息和对应的数据库地址,租户数据库则存储了租户相关的数据,租户数据库的表结构都是一致的,这种方式有个痛点就是变更表结构非常麻烦,需要一个个数据库去变更,幸运的是可以通过一段代码来实现SQL脚本的同步。使用工具类:Hutool。
2024-07-22 11:27:37 254
原创 知识库文档处理,word转markdown
前一篇我讲解了如何对接MiniMax实现FAQ,其实知识库不仅仅可以实现FAQ,还能实现帮助文档的查询,内部培训资料的查询等等,但是这些培训资料大部分是word版本的,并且有层级结构,比如标题1,标题1-1等等,这种层级结构AI是无法识别的,所以需要转换成markdown格式的,帮助文档还有一个问题就是相似问题容易混淆,比如A文档有联系人,B文档也有联系人,这时查联系人就会出现错误的情况,所以要在每个标题前加前缀,比如A文档的联系人,B文档的联系人,这些也希望能够在转换程序中实现.
2024-07-18 15:36:58 929
原创 对接MiniMax知识库,实现FAQRobot
我们在逛淘宝拼多多的时候,看到一个喜欢的商品,就会像客服问很多问题,这些问题有很多重复的,如果客服每次都回答,会浪费很多时间和人力,这个时候就可以整理成FAQ(Frequently Asked Questions,经常问到的问题),客户当然不会费劲去看这些FAQ,他们只关心自己提问的问题,这时就需要用到自然语言处理和知识库了。
2024-07-18 13:45:22 359
原创 对接微信支付
公众号上支付使用jsapi,小程序支付看小程序支付文档,后台跟jsapi一样的,上面两种方式都是手机内支付,点支付按钮后唤起微信去支付如果是pc网站上弹出一个二维码,用手机扫描支付,就是native支付,
2024-07-08 10:18:43 539
原创 从零开始学Vue3--井字棋
今天的教程是一个综合案例,在这个案例中你将学会如何创建组件,如何监听事件,如何在组件间传值,如何定义计算属性,如何循环渲染,如何条件渲染等。
2024-05-30 09:42:58 459 1
原创 从零开始学Vue3--根据目录结构自动生成路由
我们在测试或者小项目中经常遇到一个问题,就是加一个页面,就要在router.js中加一个路由,相当的麻烦,有没有办法可以根据目录结构自动生成路由呢?
2024-05-29 16:28:40 812 1
原创 从零开始学React--JSX
是 JavaScript 语法扩展,可以让你在 JavaScript 文件中书写类似 HTML 的标签。所以JSX看起来像HTML,但是语法比HTML严格,比如只允许一个根节点,所有标签必须闭合,class属性要改成className等,参见JSX最强大的地方是可以在HTML里面写js代码。
2024-05-29 14:48:27 544
原创 从零开始学React--环境搭建
由于我们需要一个纯洁的测试环境,所以需要清理掉不需要的代码,src文件夹下只需要保留App.js和index.js。Home组件可以写链接,这样有几个测试页面就有几个链接,要加个测试页面加个链接就能跳转过去了。上面的方式有个缺点就是只能在一个文件上面测试,如果想在多个文件测试需要用到路由。新建几个文件,page下面的文件表示页面组件,router表示路由数据。这样就能得到一个纯洁的项目可以直接在App.js里面做练习了。index.js改成如下代码。Article是测试页面。router是路由数据。
2024-05-28 13:54:12 743
原创 从零开始学Vue3--模板语法
Vue的核心是MVVM,也就是数据能够影响界面,界面也能影响数据,什么意思呢?比如有个输入框,它绑定的变量name,如果你改变了name的值,输入框显示的值就会变化,如果用户在输入框里面输东西,name对应的值也会变化vue3推荐使用组合式API,在script上加setup表示里面的变量和方法可以暴露给模板使用ref方法可以让值变成响应式对象,一般用来包裹基本数据类型,要取值的话要加个value来取值,reactive用来包裹对象类型让该对象变成响应式。
2024-05-24 15:36:59 416
原创 对接kimi,打造聊天机器人,生成文档摘要
提取文档摘要我们先要把文档上传到kimi获取一个content,再调用聊天接口给提示词就行了@Operation(summary = "提取文档摘要")String hint = "请简要描述文档中的内容";
2024-04-23 16:38:16 2932 2
原创 easypoi--按照模板导出复杂样式的excel
导出excel通常使用的是apache poi,但是poi的api相当复杂,所以当导出的excel样式比较复杂时,写起来就比较头疼了,这里推荐使用。如果是变量,就用双大括号包裹变量,如果是列表,则使用$fe指令,maplist是变量名,t.id是要输出的字段,最后以t.hdje}}结果表示结束。, 可以很方便的根据模板来导出复杂excel。第二步,新建excel模板,然后写入内容。我们要实现如图所示效果,该怎么实现呢。第三步,获取数据,写入输出流。
2024-04-22 17:31:58 1141
原创 mybatis一对一,多对一,一对多--使用自动映射避免繁琐的resultMap
我们知道,相比较hibernate,mybatis的一对一,一对多都比较繁琐,hibernate可以直接在实体类里面配置好映射关系,获取值的时候就能把一对一和一对多的对象带出来了,而mybatis需要用到resultMap,需要在resultMap中把实体类与表字段的对应关系一一写出来,如果遇到关联表有相同字段名,还要写别名,画风往往是这样的:看着好像还行,但是要知道有些表可是有几十个字段的, 不仅要写resultMap,还要在sql中把所有列名写出来,这酸爽,看着就头疼,幸亏有个大杀器autoMappin
2024-04-19 13:39:02 1226
原创 定位一段文字在word文档哪个章节下面
接下来就简单了,我们通过遍历文档段落,查找该段落中是否包含指定文字,如果包含则说明该段文字属于该章节,很多人可能会去使用document.getParagraphs来遍历文档,但是这种方式只能获取段落内容,如果文档中包含表格则获取不到,所以为了完整的遍历文档可以使用XWPFWordExtractor这个类来提取文字。
2024-03-29 16:27:31 350
原创 比对word文档并提取差异片段(java版)
有时候,我们想比对两个word文档,标记出两个文档之间的差异,这样一眼就能看出来修改了哪些地方,如下图,左边文档中的扩招2000人删除了,辞呈改成了说明,新增了并且加重处罚等文字,是否一目了然了。
2024-03-27 17:02:15 1506 1
原创 使用java比较word文档内容
要比较word文档内容,我们需要先读取word文档,这里使用poi库,至于比较内容,可以使用apache的commons-text库。
2024-03-21 14:36:10 1007
原创 IDEA 下载依赖包源码报错 Cannot download sources Sources not found for:XXX
最近在做一个功能的时候想看一个库的源码,结果源码下不下来,报Cannot download sources Sources not found for:XXX,网上搜了半天,也找不到靠谱的结论后来想了下,应该是镜像那边出了问题,把镜像一删,源码就能下了,用的还是阿里云的镜像,有点坑,后来一搜,发现是阿里云镜像的地址变更了,我还在用老的地址,难怪了。
2024-03-20 16:02:29 988
原创 SpringBoot2.7集成Swagger3
Swagger2已经在17年停止维护了,取而代之的是 Swagger3(基于openApi3),所以新项目要尽量使用Swagger3.
2024-03-18 14:45:09 2449
原创 Caused by: java.lang.NoSuchFieldError 问题解决方案
最近改了下依赖包版本,编译启动没啥问题,但调接口的时候报错了遇到这种问题一般都是依赖包版本冲突造成的。
2024-03-08 14:05:09 2841
原创 力扣经典题目解析--最小覆盖子串
原题地址:给你一个字符串s、一个字符串t。返回s中涵盖t所有字符的最小子串。如果s中不存在涵盖t所有字符的子串,则返回空字符串""。tts"BANC"最小覆盖子串 "BANC" 包含来自字符串 t 的 'A'、'B' 和 'C'。"a"整个字符串 s 是最小覆盖子串。""t 中两个字符 'a' 均应包含在 s 的子串中,因此没有符合条件的子字符串,返回空字符串。
2024-03-04 16:21:39 1134
原创 力扣经典题目解析--滑动窗口最大值
原题地址:给你一个整数数组nums,有一个大小为k的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的k个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。滑动窗口的位置 最大值[1]
2024-03-01 16:58:47 1105
原创 力扣经典题目解析--字符串相加
原题地址:给定两个字符串形式的非负整数num1和num2,计算它们的和并同样以字符串形式返回。你不能使用任何內建的用于处理大整数的库(比如BigInteger), 也不能直接将输入的字符串转换为整数形式。
2024-02-27 14:38:21 586
原创 力扣经典题目解析--搜索二维矩阵(小米一面)
原题地址:给你一个满足下述两条属性的m x n给你一个整数target,如果target在矩阵中,返回true;否则,返回false。truefalse。
2024-02-27 10:23:12 723
原创 力扣经典题目解析--旋转图像(字节二面)
原题地址:给定一个n×n的二维矩阵matrix表示一个图像。请你将图像顺时针旋转 90 度。你必须在旋转图像,这意味着你需要直接修改输入的二维矩阵。使用另一个矩阵来旋转图像。
2024-02-23 16:54:45 683
sql server jdbc 4.2驱动
2020-06-16
sigar资源包及工具列
2018-05-11
adt 22.6 eclipse插件
2014-05-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人