- 博客(179)
- 收藏
- 关注
原创 Java使用poi-tl生成word文档添加超链接及添加多个超链接情况
data里面添加的value是一个list,需要创建一个对象,属性名为file,类型是TextRenderData。就是在替换的data,Map中添加替换数据时是这种格式就可以了。就是通过字符替换就行,但是替换的value格式是。然后就是收集list对象以后塞到data中去。首先是生成单个超链接情况,很简单。其次是多超链接情况,用表格处理。
2023-07-18 16:08:21 1787 2
原创 MySQL的on duplicate key update 的使用
1、mysql的存在就更新不存在就插入可由on duplicate key update语法实现;3、如果有重复项会在on duplicate key update后进行修改指定的字段和内容;mysql中的存在这条数据就就更新,不存在就插入新增,,通过主键索引区分。2、不过只会检查添加列中有没有匹配到主键id和唯一索引的重复项;4、所涉及的唯一索引也是可以修改的;
2023-07-05 16:47:01 459
原创 Hutool的 treeUtil 工具类用法
首先,需要将三级树形目录转换为节点列表,每个节点包含节点ID、父节点ID和节点名称等信息。需要注意的是,对于更复杂的树形结构,可能需要自行编写。方法,该方法会按照层级顺序遍历整个树形结构,并返回遍历结果列表。是一个自定义的节点类,包含节点ID、父节点ID和节点名称等属性。是一个Java工具包,提供了很多便利的工具类和方法。的工具类,可以快速构建、遍历和操作树形结构。如果需要获取指定节点下的所有子节点,可以使用。方法,该方法会返回指定节点的子树结构。方法可以快速构建树形结构,参数。为根节点的父节点ID。
2023-06-25 16:30:01 4578 1
原创 关于java.util.LinkedHashMap cannot be cast to 实体类......问题的出现以及解决办法
【代码】关于java.util.LinkedHashMap cannot be cast to 实体类......问题的出现以及解决办法。
2023-06-08 09:45:39 1600
原创 mysql中的group by,sql语句按某个字段分组
需求分析:获取当check_id = 1时的数据个数。这是一个二表关联,过去另一个表中数据的个数,也就是按第一个表的id分组获取。可理解为b表为文件,也就是一条a表的数据绑定的b表文件个数。通过将b表按comparison分组与a表id匹配。a表左关联b表,通过id与comparisonID,也就是为了获取a表的一条数据绑定的b表的数据个数。获取表中按某个字段分组后的的数据个人,也就是当id为某某时,其包含的所有数据记录。
2023-05-15 11:05:09 850 1
原创 word下载,固定模板,字符替换,压缩包下载含有多个word
上面的代码中也要加上表单的key,表单中list的内容用 [] 中括号。data中与上面替换的字符串格式是。单个word下载方法。
2023-05-09 16:11:47 170
原创 关于调用远程接口,在远程api模块中心已新增一个字段,且将远程接口api发布到远程仓库,但是开发环境中一直没有该字段。
应该把调远程接口的该模块代码重新编译一次,就会重新加载我们已经更新过的api jar包,这样才会有新增的字段出现。这个bug问题就是,本地测试该接口都会有远程接口中新增的该字段,但是开发环境中没有。
2023-05-08 14:50:23 117
原创 关于处理异步后台调用接口问题及异步调用远程接口无法获取token问题处理
其中用到了一个异步线程共享token的工具类,也就是在调用异步方法之前,将获取到的token先塞进当前的线程。同时需要添加一个接口的token拦截器,获取token。这是简单的不涉及异步方法在调用远程接口的实现。便是需要异步执行的具体方法。
2023-05-08 11:51:35 1279
原创 关于通过正则分割字符串获取分割集合,及通过正则获取匹配正则表达式的集合
思路是,匹配正则,也就是匹配到=,-,*,/以后全部替换为“ ”,再按“ ”去分割。需求是按字符串中的(+,*,/,-)分割开来,获取一个集合。需求是按顺序获取匹配的+,-,*,/
2023-04-24 16:38:50 161
原创 二个远程接口的bean重复bug处理
remoteDqDataSourceInfoService 这个在dq远程接口和chk远程接口里重复了。加个配置覆盖就可以了。要在Bootstrap.yml里加才行。
2023-04-18 14:07:00 123
原创 如何把集合某元素添加到第一个位置
3,判断如果是置于第一个位置元素调用list.addFirst(置为第一个位置的元素);需要兴建一个linkedlist集合来收集,且用到了对应的addfirst方法。4,如果不是则正常的添加方法list.add(元素)1,创建一个新的集合LinkedList集合。2,把需要把某元素置于以一个位置的集合循环。一、如何把集合某元素添加到第一个位置?
2023-04-18 13:21:30 5618
原创 通过redis优化接口速度,若经常调用一个接口的数据,且不常修改,可将数据用redis缓存起来。
需求::对一个很大的树目录,经常调用,且不常修改,将其reids缓存去了。需要删除redis中缓存的数据,因为已经变化了。
2023-04-13 11:11:29 237
原创 mybatis中排序操作,按用户或时间排序,且各自正序还是逆序条件
【代码】mybatis中排序操作,按用户或时间排序,且各自正序还是逆序条件。
2023-04-04 16:00:37 1209
原创 java两个时间相减的差_java 获取当前时间并求和某个给定时间的时间差
比如:现在是:2015-05-09 13:31:40。过去是:2015-05-09 11:30:24。
2023-03-16 09:56:22 733
原创 java创建字母自增的方法,A-B-C
前言:不知咋的脑袋抽筋的想到数字可以直接自增成序列要是字母呢该怎么增加 aaa aab aac aad aae aaf aag aah aai aaj aak?于是就有了下面的代码。
2023-03-13 10:57:18 1447 2
原创 docker 安装redis并设置密码,及nacos中配置redis参数。
若出现(error)NOAUTH Authentication required 错误,则使用auth密码来认证密码。设置redis密码config set requirepass ***(***为你要设置的密码)进入redis的容器 docker exec -it 容器ID bash。查看现有的redis 密码:config get requirepass。(123456 就是你设置的密码,,暴露端口号为6379。进入redis目录 cd /usr/local/bin。此处是在hosts文件中映射了。
2023-03-06 14:12:45 1669
原创 RocketMQ简单的延时信息发送和信息接收处理操作
新增一个 主题,这个主题也就是发信息的时候需要选择的主题,然后发送的时候可以设置延时。然后消费的时候会自动在控制台生成一个在监听类写的消费者的名称一样的消费者。先在nacos中或者yml配置文件中配置生产者和消费者,再去到控制台。再然后就是新增监听类,监听类要写监听的主题和消费者的名称。步骤二 再就是新建rocke主题。主题名也就是之后在代码中写的。步骤三 发送信息的方法。步骤四 接收消费信息。
2023-02-22 13:38:02 1038
原创 RocketMQ的异步延时发送信息时,因不存在登陆用户,无法获取系统令牌处理方法
解决方法为:在系统新增一个默认用户由于这种异步延时信息处理使用,再获取加密后的密码和账号,调用登陆方法,获取到令牌。因为延时的信息处理,没有用户登陆系统,所以无法获取系统的令牌,导致无法处理。用户的账户和密码可写在nacos中。再就是处理异步线程获取当前线程的令牌的工具类。
2023-02-22 13:18:29 322
原创 匹配用户名称--通过string名字的模糊匹配数据库中的用户id操作。
操作:先获取系统所有的用户list,然后再遍历list,通过contain匹配用户名称,收集符合的用户id,就可以得到一个list 的用户id集合。需求:通常数据库存的是用户id,但是用户输入的模糊的名称string类型,要是想匹配用户的话。本系统用户集合是map,key是用户id,value是用户实体类。再收集value集合后,去遍历value对象类,收集id集合。
2023-02-17 10:01:51 484
原创 Lists.partition用法--当list中的数据太大时,将其分割对固定数量的list嵌套list集合
当list太大的时候,无法一次性存储到数据库中,可分割为多个list,分批次插入数据库。将list集合按指定长度进行切分,返回新的List
2023-02-16 16:02:50 732
原创 FreeMarker生成word文档,固定word模板
也就是必须有一个固定的模板文档是.ftl类型如果初始文件为需要手动改为:也就是所有需要替换的地方,都需要有${XX}替换。${变量名}.xml.ftl处理文本比较简单,在原文件中直接用占位符 ${} 替换即可。处在生成 word 表格时,FreeMarker 是利用列表一行一行循环填充的,而表头只会生成一次,因此我们还需手动改动一下 .ftl 文件。
2023-02-16 14:07:54 1414
原创 如何把实体类对象转化为json及(json转实体类对象)
1、序列化(实体类转json,text为json数据,user为实体类,JSON.toJSONString为固定写法)2、反序列化(json转实体类,text为json数据,User为实体类,JSON.parseObject为固定写法)框架解决实体类转json的问题(实体类要序列化哦,如 实体类。
2023-02-14 15:53:41 2233
原创 关于对某个类打包时,发现某个常量找不到,找不到符号解决方法。
解决方法为:引用的常量类并未更新,也就是代码中常量类中会有你要引用的常量代码,但是在包引用的缓存中,该常量类未更新。解决方法就是,对常量类进行打包,安装在本地,install。更新一下引用的常量类。
2023-02-13 10:11:06 303
原创 mysql-mybatis-“select count (1)” select sum(1)是什么意思?及IFNULL() 函数
一般情况下,Select Count (*)和Select Count(1)两着返回结果是一样的,假如表没有主键(Primary key), 那么count(1)比count(*)快,如果有主键的话,那主键作为count的条件时候count(主键)最快,如果你的表只有一个字段的话那count(*)就是最快的。同理,count(2),也可以,得到的值完全一样,count('x'),count('y')都是可以的。select count(*)返回所有满足条件的记录数,此时同select sum(1)
2023-02-03 13:48:34 1612 1
原创 关于获取两数相除求百分比,浮点数或整数-相乘,相除-但余数需保留小数点不能有doble继承,应该使用BigDecimal进行四舍五入
类似于这种两数向除---需要将其转化为BigDecimal,利用其函数的方法相除,并用BigDecimal类型接收结果。同时Bigdecimal的初始化时用尽量用String,假如传的是浮点类型,会丢失精度。阿里的开发规范当中也明确说明了。这一点在BigDecimal类的构造方法注释中有说明。也就是先将int转为string再转为BigDecimal结果方法结果6、八种舍入模式解释如下舍入远离零的舍入模式。在丢弃非零部分之前始终增加数字(始终对非零舍弃部分前面的数字加1)。
2023-02-03 11:32:01 417
原创 使用 db.properties 文件配置数据库连接属性
(1)读取 .properties 属性文件时,使用 Class 对象的 getResourceAsStream()方法,把指定的属性文件读入输入流中,并使用 Properties 类中的 load() 方法,从输入流中读取属性列表(键/值对)。(2)在使用 Class 对象的 load() 方法加载 .properties 属性文件的输入流后,数据在内存中是以 Hashtable 的形式进行保存的。
2023-02-02 16:33:45 1320
原创 关于判断String类型不为空且不为““空格时,bug处理及int类型数字判空
当会有异常,如果a= “ ”;a为空格而不是无字符就无法判断;此方法可以来判断String类型不为null,不为“”,不为“ ”此方法判断不为null,不为”“,而” “可以通过。此方法只判断不为null,对于”“可以通过。
2023-01-30 10:36:21 511
原创 代码驱动数据库,多种数据库,mysql,oracle等,通过抽象继承的方法。
再然后建立多个实现类,如mysql,oracle等数据库的实现类,里面实现该执行sql语句的方法。(值得注意的是在抽象类里面通过一个新方法转载了一些执行sql语句的方法,然后会通过一个实现改接口的抽象类去实现改执行方法也就是AbstractDbCaller类,然后在里面实现invokeSelectExecute执行sql语句方法。关于如何选择对应的实现类,是通过对应属性类的@Component("MONGODB_CALLER")注解去判断的。在调用的时候,得获取对应的bean,再通过bean去调用、
2023-01-16 11:50:14 94
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人