工作学习问题记录
遇到的各种坑,记录一下解决办法
家乡的落日
博观约取,厚积薄发。拒绝浮躁,保持谦逊。
展开
-
Mybatis的XML文件中<if>标签内的判断语句equals的坑
可能是因为OGNL对单字符的识别 当成了char类型 ,而我们代码中是String类型,所以判断成了false。所以在Mybatis的XML文件中判断字符串是否相等,建议使用。假如代码中 String name = “B”;即单引号内包双引号的方式。原创 2024-08-31 20:18:34 · 442 阅读 · 0 评论 -
Oracle数据库大小写问题注意点
在 SQL 查询中使用双引号包裹列名时,Oracle 才会按照你指定的大小写返回列名。否则默认返回的是全大写列名。原创 2024-08-31 20:04:25 · 109 阅读 · 0 评论 -
MySQL排序字段无法唯一标识一条数据,导致分页查询结果出现重复或遗漏问题
目前最可能的推测就是在排序时 product_hierarchy 和 material_no 无法唯一标识一条数据,同时InnoDB 引擎在使用隐式主键来确保排序的一致性时也出现了问题(至于具体到底是哪里出了问题暂时还没找到),导致分页出现了重复数据,即排序出现了不稳定的情况。这种情况危害性比较大,会导致排序结果的混乱,不同页面分页数据的重复,查询和导出的数据顺序不一致,如果前端页面使用重复的id作为DOM元素的key,重复数据量过大时还可能导致前端页面的假死等更严重的情况。在排序字段不是唯一的情况下。原创 2024-05-31 11:00:55 · 619 阅读 · 0 评论 -
Nacos搭建集群
复制三份Nacos服务端文件配置相同的数据库 参考前面nacos上线文档修改每一个的application.properties文件内的 server.port然后在每个conf文件夹内新增 cluster.conf文件文件内容为 集群的每台机器的ip和端口号然后 直接启动每个服务sh /web/nacos/nacos1/bin/startup.shsh /web/nacos/nacos2/bin/startup.shsh /web/nacos/nacos3/bin/startup原创 2023-02-18 22:37:17 · 108 阅读 · 0 评论 -
OnlyOffice本地部署实现Excel预览(docker安装)
下载onlyoffice镜像 docker pull onlyoffice/documentserver如果下载不了 可以尝试添加镜像在下面文件夹/etc/dockerdaemon.json文件内 添加一行{“registry-mirrors”: [“http://f1361db2.m.daocloud.io”]}启动镜像 (第一个7315表示onlyoffice服务对外的端口号)sudo docker run -i -t -d -p 7315:7315 onlyoffice/docum原创 2023-02-18 22:36:03 · 1283 阅读 · 0 评论 -
POI处理Excel (xlsx格式) 设置单元格格式为数值 且千分位分隔 保留两位小数
背景某公司导出的一个Excel 其中有三列数据 是数字 但是导出后 实际上格式为 数值形式的字符串客户要求这三列的格式改为 数值格式 且千分位分隔 保留两位小数分析原因先看导出用到了什么工具 查看源码发现 导出 使用了 EasyExcel立马想到 一般情况下导出实体的字段类型可能是String 才会导致 数字类型 在Excel中是 数值类型的字符串去找导出实体对象 查看相应字段类型很遗憾 并不是想象中的一般情况这里的字段类型都是BigDecimal 按道理来说 导出的 数原创 2023-02-18 22:31:56 · 5714 阅读 · 2 评论 -
生成Spring项目启动banner图
生成Spring项目启动banner图http://patorjk.com/software/taag/#p=display&f=Graffiti&t=Type%20Something%20原创 2022-03-27 10:41:18 · 542 阅读 · 0 评论 -
spring clould 注册指定网段的IP地址 到服务中心
spring clould注册指定网段的IP地址 到服务中心添加以下配置 10.211.为需要指定的网段spring.cloud.inetutils.preferred-networks=10.211.原创 2022-03-10 15:52:11 · 591 阅读 · 0 评论 -
SQL模糊查询工具类处理转义字符
/** * 模糊查询时候,参数转义 */public class SqlUtil { public SqlUtil() { } public static String escapeLike(String value) { if (value == null) { return null; } value = value.replace("%", "\\%"); value = valu原创 2022-03-07 14:02:20 · 601 阅读 · 0 评论 -
Git Clone 报错 SSL certificate problem: unable to get local issuer certificate
Git Clone 拉远程代码时报错 SSL certificate problem: unable to get local issuer certificate只需要执行下面的命令即可git config --global http.sslVerify false原创 2022-03-03 20:51:56 · 2190 阅读 · 0 评论 -
java web项目代码中如何获取 resource目录下的文件路径
// 如果获取到了null 会抛空指针异常String path = Objects.requireNonNull(GetResource.class.getClassLoader().getResource("template/whiteListImport.xlsx")).getPath();原创 2021-10-29 11:35:42 · 660 阅读 · 0 评论 -
Java 使用POI设置 单元格格式为 金额格式 带千分位分割符且保留两位小数
Workbook workbook = cell.getSheet().getWorkbook();CellStyle cellStyle = workbook.createCellStyle();cellStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("#,##0.00"));cell.setCellStyle(cellStyle);原创 2021-10-11 09:56:46 · 4679 阅读 · 0 评论 -
记一次愚蠢的操作 BigDecimal 和 0 比较的问题
一定要用compareTo方法比较 不能用equals方法 因为BigDecimal格式的0 也会有精度问题 public static void main(String[] args) { BigDecimal a = new BigDecimal("0.00"); System.out.println(BigDecimal.ZERO.compareTo(a) == 0); // true System.out.println(BigD原创 2021-09-30 15:53:51 · 541 阅读 · 0 评论 -
Windows系统上 如何生成 .tar.gz格式的压缩包
前言Linux系统经常使用的压缩包格式为 .tar.gz格式Linux系统 处理这种格式的压缩包命令压缩 tar -zcvf 压缩文件名 需要被压缩的目录 (c f 为必须参数)解压 tar -zxvf 解压文件名 -C 指定目录 ( x f 为必须参数) 注意是 -大写的C首页在windows系统下载 7zip 工具下载地址 https://www.7-zip.org/第一步先将文件压缩为 .tar格式的压缩文件第一步将上一步生成的 .tar文件 压缩为原创 2021-07-01 19:06:13 · 2393 阅读 · 0 评论 -
使用 spring提供的 StopWatch 监控程序的执行时间
使用 org.springframework.util 包下的 StopWatch 监控程序的执行时间StopWatch stopWatch = new StopWatch();stopWatch.start("监控代码片段A");// 这里是被监控的代码片段A// ...stopWatch.stop(); // 监控代码片段A结束的地方stopWatch.start("监控代码片段B");// 这里是被监控的代码片段B// ...stopWatch.stop(); // 监控代码片段B原创 2021-03-17 09:03:13 · 452 阅读 · 0 评论 -
替换word模板中 ${XXX} 中的XXX值并且将文件夹生成.zip格式压缩包保存
下载Demo看下README.md文档运行main方法即可 如果你有更好的方式处理word分段问题请留言https://gitee.com/kinggm520/word_replace_zip.git将 template.docx 模板内 ${heheTest} 替换成666注意模板文件一定要是.docx格式的 docx docx docx运行前效果:运行后效果:...原创 2021-03-11 09:28:41 · 345 阅读 · 0 评论 -
redis生成自增流水号每天自动从头开始
public String createSerialNumber() { //时间戳 后面拼接流水号 如果需要 可以加上时分秒 String datetime = new SimpleDateFormat("yyyyMMdd").format(new Date()); //这里是 Redis key的前缀,如: sys:日期 String key = MessageFormat.format("{0}:{1}", "sys", dat...原创 2021-03-08 11:05:34 · 2913 阅读 · 9 评论 -
Git回滚远程仓库代码
前言工作中 不小心把未上线代码提交到了 远程master分支该怎么办淡定 下面开始回滚代码方式一、使用IDEA回滚远程仓库代码下图中 123 是错误的提交记录现在要把远程的master分支 回滚到 测试提交1 时的状态打开仓库 git push -f 完事擦擦汗-_-||方式二、使用git bash命令行工具按照下图 1 2 3 4操作 获取要回滚到的 版本号在项目文件夹下打开 Git Bash命令行工具git reset --hard 上面复制的版本原创 2021-03-04 20:33:44 · 2530 阅读 · 1 评论 -
java Map根据值排序 + 截取
public static <K extends Comparable, V extends Comparable> Map<K, V> sortMapByValues(Map<K, V> aMap,String limitSize) { HashMap<K, V> finalOut = new LinkedHashMap<>(); aMap.entrySet() .stream()原创 2021-03-04 19:10:24 · 2252 阅读 · 1 评论 -
后台报错Lock wait timeout exceeded; try restarting transaction
Lock wait timeout exceeded; try restarting transaction原因 某条SQL语句被锁住了解决方法在mysql中 执行下面的sql语句SELECT * FROM information_schema.innodb_trx找到查询到的数据中的 trx_mysql_thread_id字段下对应的值例如值为:25209那么再执行下面的sql语句即可KILL 25209...原创 2020-09-07 18:59:49 · 459 阅读 · 0 评论 -
git操作远程仓库遇到的问题 (将本地仓库与远程仓库关联)
控制台情况一:直接克隆情况二:将本地仓库与远程仓库关联 并且本地仓库与远程仓库文件不一致IDEA图形界面直接克隆操作情况二:将本地仓库与远程仓库关联 并且本地仓库与远程仓库文件不一致...原创 2020-05-15 23:01:43 · 433 阅读 · 0 评论 -
配置的自定义登录页面的action无法被SpringSecurity识别 报404
在使用SpringSecurity时 tomcat插件忘记加< path>/< /path>导致配置的自定义登录页面的action无法被SpringSecurity识别 报404解决 在Maven的pom.xml中添加注意< path>标签不要忘了 <build> <plugins> ...原创 2020-04-23 14:08:00 · 927 阅读 · 1 评论 -
一次愚蠢的操作 多个Spring配置文件中引入properties文件报错Could not resolve placeholder
问题:在项目中定义了多个properties文件 和多个spring配置文件然后其中两个spring配置文件分别引入了一个properties文件(引入的properties文件不同)最后在web.xml中统一加载 <!-- 加载spring容器 --> <context-param> <param-name>contextConfigLoc...原创 2020-04-20 02:17:57 · 573 阅读 · 0 评论 -
IDEA在父模块下新建子模块报错'pom.xml' already exists in VFS
IDEA在父模块下新建子模块报错’pom.xml’ already exists in VFS1、在新建子模块的这个页面 复制模块名称 粘贴到下面两个框内 注意加\在下面两个框内追加 \test (这里的test是你的子模块名)粘贴过后如下图所示点击finish即可创建成功...原创 2020-04-07 23:44:59 · 1154 阅读 · 0 评论 -
win10 安装zookeeper 遇到的问题 Unable to create data directory data .....
问题:点击zkService.cmd运行窗口一闪而过安装步骤 直接解压之后完成以下配置在zookeeper安装目录下创建data文件夹进入conf文件夹将conf目录下的zoo_sample.cfg文件重命名为zoo.cfg,然后修改zoo.cfg配置文件dataDir=你刚才创建的data文件夹的绝对路径设置环境变量,在系统环境变量添加ZOOKEEPER_HOME名,地址是指向你...原创 2020-04-05 23:14:40 · 4011 阅读 · 0 评论 -
word文档如何从第N页开始设置页码
记录一下word文档如何从第N页开始设置页码我们写的文档一般都是 封面页 + 目录 + 正文页一般正文都是第3或者更后面的页面开始那么如何从第N页开始设置页码呢?效果是 前面的页面不设置页码后面从第N页开始 页码分别为1 2 3…下面以word2010作为演示例如如果你想从第4页开始设置页码第一步光标先移动到第3页的文档末尾然后按照图中步骤操作第二步开始插入页脚按下图操...原创 2020-03-27 23:16:15 · 573 阅读 · 0 评论 -
MySQL不同版本SQL语法兼容问题报错MySQL-this is incompatible with sql_mode=only_full_group_by
今天在本地使用MySQL5.5写了一个多表的查询 结果放服务器上报错MySQL-this is incompatible with sql_mode=only_full_group_by后来发现是服务器用的5.7版本的MySQLmysql 5.7版本默认的sql配置是:sql_mode=“ONLY_FULL_GROUP_BY”,这个配置严格执行了"SQL92标准"。由于开启了ONLY_FU...原创 2020-03-17 23:21:20 · 914 阅读 · 0 评论 -
解决CentOS系统下的MySQL乱码问题
一、打开命令行登录mysqlmysql -uroot -p你的密码登录后输入命令: show variables like ‘%char%’;若出现如下图:说明乱码原因找到二、在你的电脑上新建记事本文件my.conf内容为:[mysqld]init_connect = 'SET NAMES utf8'character-set-server = utf8collation...原创 2020-03-15 20:43:07 · 547 阅读 · 1 评论 -
解决端口号被占用的问题
Tomcat服务器8080端口被占用解决方案一:直接kill占用端口的进程Win+R 打开命令行窗口 输入 netstat –ano查看本地8080端口进程的PID然后Ctrl+Alt+Del 打开任务管理器 找到对应PID的进程然后结束即可解决方案二:修改tomcat的默认端口号在tomcat安装目录找到conf目录下的server.xml 打开修改下面代码即可<...原创 2020-02-15 00:37:46 · 3589 阅读 · 0 评论 -
一、(二次)安装MySQL遇到的问题
电脑上已经存在MySql需要彻底删除 然后才能安装新的MySql一、MySQL数据库卸载的完整步骤1、关掉mysql服务右键“我的电脑”,选择“管理”,打开计算机管理,选择“服务”或者 win+R 输入 services.msc右键MySQL服务,选择“停止”2、卸载mysql程序开始菜单->控制面板->程序和功能3、删除计算机上的残留文件(1)删除 C盘-》...原创 2020-01-08 18:04:51 · 607 阅读 · 0 评论