- 博客(19)
- 收藏
- 关注
原创 java 使用 docx4j 将xmldocx 生成为真正的word文档,将FreeMarker导出的word转换为真正的word,解决word不能在线预览问题
使用FreeMarker模板导出的Word实际上是一个xml文件,Word和WPS支持这种格式,但是网页预览不支持。可以通过修改导出后的.doc文件的后缀验证,修改为.xml后导出的文件可以打开,但本地创建的.doc文件不能打开。docx4j是一个用于创建和操作Microsoft Open XML (Word docx, PowerPoint pptx, 和 Excel xlsx)文件的Java类库。遇到的问题,使用FreeMarker导出Word后本地打开正常,但上传后在浏览器预览显示的是一个xml。
2024-07-25 15:19:41
961
1
原创 DBeaver导入导出txt文件操作
版本: 24.0.2.202404071654相比于导入CSV文件和SQL insert into脚本,导入txt文件速度快非常多,大一点数据能快到10倍以上。并且可以一次轻松导入几十上百万条数据,前面两种方式超过1万条就很慢了,而且电脑性能差大概率会卡死。DBeaver的txt导入导出功能,并不容易使用,我也是经过了一番摸索。
2024-04-22 11:24:58
2370
原创 使用IDEA格式化代码后,freemarker导出word,Word在xx.doc中发现无法读取的内容
重新生成.ftl文件,使用快捷键Ctrl+Shift+Alt+L,取消优化import选项后再格式化代码。:Ctrl+Alt+L默认会优化import。导致删除了一部分命名空间。使用IDEA格式化代码后出现这个问题。
2023-09-14 11:21:31
530
2
原创 java简单设置百分比格式|设置小数位格式
0代表不够就填充0。#代表尽可能把数字填上去,去掉末尾的0。小数位过长的0#都去掉超长部分。‰会先乘1000然后在结尾加’‰’%会先乘100然后在结尾加’%’
2022-12-01 16:50:56
658
原创 统计sql统计关联子表的行数--count()和sum 函数的正确选择
复杂的筛选条件(还要关联其它多个表)的情况,建议使用方式2,一列一个leftjoin()on,将复杂的条件写在括号中.因为是按主表leftjoin就算未关联上(子表的字段全部为null),count(*)的结果也会为。3建议使用==sum()==函数统计,可以一次写多个sum()函数,分别统计不同的条件。简单对子表的行进行筛选的情况,建议使用方式3,将条件写在sum(条件)函数括号里面.2这种leftjoin()直接整个写括号里,用count()是可以的,...
2022-07-15 15:14:19
2259
原创 代码没有编译错误运行却报错: “程序包xxx不存在
码编辑器中无编译错误,通过maven 的clean 、compile、package进行各种操作也都没问题,但是单击绿色箭头运行(默认会先执行IDE本身的Build操作)却报:程序包xxx不存在。网上找到的其他人的方案都是勾选Delegate IDE buid/run actions to Maven直接托管到maven上, 但是这样速度会非常慢, 且不能热部署.最好的方法是直接本地新建一个空的仓库, 切换到新的仓库后reimportSetting–>Build, Execution, D
2022-03-18 11:15:48
2253
1
原创 Feign笔记
Feign笔记远程调用服务引入open-feign依赖。。。将服务注册到注册中心。。。开启服务发现@EnableDiscoveryClient启动类添加注解@EnableFeignClients(basePackages = "com.atguigu.gulimall.member.feign")在basePackages包下新建接口添加@FeignClient(“gulimall-coupon”)注解说明要调用的服务名添加调用的方法签名(完整路径)@F
2022-02-14 20:39:47
225
原创 SpringBoot自定义校验注解
自定义校验注解1. 编写自定义注解JAVA校验注解的规范,必须包含String message() Class<?>[] groups() Class<? extends Payload>[] payload()@ListValue的作用是只能接收在数组的值import static java.lang.annotation.ElementType.*;import static java.lang.annotation.ElementType.TYPE_USE;
2022-02-04 19:54:54
1801
原创 mysql root用户被删除, 解决方法
mysql> update user set authentication_string=password("123456") where user="root";Query OK, 0 rows affected, 1 warning (0.00 sec)Rows matched: 0 Changed: 0 Warnings: 1出现这个问题的原因是root用户被删除了, 按照其它重置密码的教程设置免密登录, 例如mysql密码忘记如何重置root密码重启数据库后, 并且mysql
2022-01-21 15:51:47
3906
2
原创 静态代理与动态代理模式demo实现
代理模式概念 为其他对象提供一种代理以控制这个对象的访问,在某些情况下一个对象不能直接访问那个对象时,代理就起到了客户端和被代理对象(委托类)中介作用。 代理类和委托类都有同样接口。好处 可以不用动原来类的逻辑,再次增加一些功能,符合开闭原则。真正的业务还是交给被代理对象处理的,因此在其委托被代理对象处理业务前后实现一些公共逻辑服务,例如加入缓存或日志等功能,无须修改原来的类就可以使用代理进行实现。静态代理模式 房东(Host)与中介(Proxy)共同实现了同一个接口(出租Rent)
2021-12-21 12:27:50
294
原创 Springboot项目打war包在Linux系统Tomcat上发布
SpringBoot项目打war包在Linux系统tomcat发布我的环境:IDEA、阿里云Centos7.7、SpringBoot2.5.5 、MySQL5.7.30、Tomcat9.0.46、jdk1.81 修改SpringBoot项目因为Springboot内置有tomcat,要使用外部的tomcat需要做一些修改修改pom.xml文件里的打包方式,Springboot默认打jar包,改为war添加依赖,使得打包时忽略内置的tomcat<!--为了打war包-->
2021-12-13 17:45:49
1173
原创 Swagger2 和 Swagger3 的区别与使用
Swagger2 和 Swagger3 的区别与使用主要区别:1 导入的依赖注意:我springboot 使用的版本为4.3.1, 版本过高会报错Swagger2<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version>&l
2021-12-07 13:41:34
6559
原创 Word无法打开该文件,因为文件格式与文件扩展名不匹配。Microsoft Word无法从该位置打开扩展名为.asd的文件。请将此文件移动到原始.asd位置,然后重试。
解决方法1. 将文件后缀名改为.doc2. 如果1不能解决, 则先将文件后缀名改为.doc, 再到下图位置去到上面复制的文件夹位置改为.doc就可以在这里打开了, 可能会很卡, 建议把内容复制到一个新的文档中。...
2021-11-14 23:49:59
14600
原创 IDEA springboot热部署和资源更新问题
配置pom.xml文件<!--添加热部署--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> <scope>true</scope>.
2021-10-14 23:36:27
491
原创 前端基础笔记
CSS1、选择器1.1、基本选择器1、标签选择器 body p{}p{color: red;}2、类选择器 class: .类名{}3、id选择器 : 全局唯一! #id名{}优先级 id>class>标签1.2、层次选择器/*层次选择器 ( )1.后代选择器: 在某个元素的后面 祖爷爷 爷爷 爸爸 你 (>)2.子选择器 一代 儿子 (+)3.相邻兄弟选择器 同辈,只选中下方相邻的一个指定类型元素
2021-08-01 14:14:23
243
原创 IDEA常用.xxx快捷输入
psvm -->public static void main(String[] args){}soutSystem.out.println();查看代码的本地历史版本
2021-07-16 18:14:21
239
1
原创 三种二分法(中间,左边界,右边界)
随便找一个 public static int binarySearch(int[] arr,int key) { int left=0,right=arr.length-1; while(left<=right) { int m=left+(right-left)/2; if(arr[m]==key) return m; else if(arr[m]>key) right=m-1; else left=m+1; } ret
2021-06-13 22:49:23
310
原创 并查集模板
并查集模板// 并查集模板class UnionFind { int[] parent; int[] size; int n; // 当前连通分量数目 int setCount; public UnionFind(int n) { this.n = n; this.setCount = n; this.parent = new int[n]; this.size = new int[n];
2021-01-23 16:51:36
157
原创 背包问题(广度优先搜索解法)
背包问题(广度优先搜索解法)**问题描述:有n件物品,每件物品的重量为W[i],价值为C[i].现在需要选出若干物件放入一个容器量为V的背包中,使得在选入背包的物品重量和不超过V的前提下,让背包中的物品价值之和最大,求最大价值**public static void main(String[] args) { // TODO Auto-generated method stub int [] weight=new int[]{2,6,9,5,4}; int[] value = new int[
2020-12-16 23:03:57
634
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人