Java实际工作中碰到的一些问题

1.idea编译jar包时报错,[1,1] 非法字符: '\ufeff'

错位定位的代码package com.xxx.wechat.open.service.impl;

当时就觉得奇怪,然后看提交记录这行代码居然是我提交的,但我好像都没有动过。后面就去网上找了一下,看说是什么java编码格式有问题。解决方式就是要移除BOM。具体移除方法可以参考https://blog.csdn.net/shepherd_dirk/article/details/85337748和https://blog.csdn.net/liuhaomatou/article/details/79094090。

 

2.之前用的好好的数据库查询代码,突然就报错,然后debug时看到date_str这种类型的数据查出来都是null。

原因:yml配置文件中其他人增加了一个数据源。虽然已经在yml中配置了开启mybatis的驼峰命名法,但是它并不知道匹配哪一个数据源,所以两个数据源需要独立配置开启驼峰命名法。具体可以参考:https://blog.csdn.net/qq_38380025/article/details/84636408。

 

3.日志文件没有抛任何异常,swagger中调试回复状态码也是200。但是msg显示为"msg": "For input string: \"5661.0000\""。这个查了些时间,后面百度才知道原因。

mysql语句中之前未ROUND(SUM(payment)/100) as complete_num,其中complete_num是String类型的。ROUND(SUM(payment)/100)得到的数据是没有小数的,ROUND函数可以参考:https://blog.csdn.net/chinabestchina/article/details/72799826。

但是后续ROUND(SUM(payment)/100)被改成了ifnull(SUM(payment)/100,0),这样得到的数据就有四位小数,直接赋值给String类型的数据就会报For input string的错误。

你可能感兴趣的:(Java相关)