练手小项目问题合集

配置问题

1.idea与maven版本问题

  在idea中配置完maven过后运行程序,在运行的时候会报错,提示maven运行不了,在检查配置文件和,之后百度了之后得到了一个答案解决了问题,如下图绑定maven路径到bin路径就可以完美运行,但之后在使用maven插件clean又会出现“No valid Maven installation found. Either set the home directory in the configuration dialog”找不到maven的情况。

图片.png 图片.png   但是把maven的源路径取消bin级目录之后插件的使用又可以正常了,在这种反复切换使用非常麻烦,而且代码运行会很慢。

解决方式

  我的idea是2019.1.4版本,maven用的是3.8.3版本,这个版本的idea与maven3.6.0以上版本都会有冲突,重新安装了maven3.6.0版本,完美解决问题。

2.nacos配置mysql版本问题

  nacos的版本是2.1.0,mysql使用5.5.36版本,在配置nacos对应的本地数据库的时候有问题,sql文件读取全部是错误,查阅出nacos支持的最低版本3.6.0,之后换成3.7版本之后运行成功。

代码问题

1.resultType问题

在一次数据库操作时返回值需要是一个列表,在resultType中的类型不确定。

基本类型:resultType=基本类型
list类型:resultType=List中元素的类型
Map类型:单条记录:resultType = map
        多条记录:resultType = Map中value的类型
        
复制代码

2.Json发送带有时间请求参数的问题

在使用postman接收到的时间参数格式的如下

图片.png

  查看到这个格式之后,我使用这个格式的去发送Json请求参数格式出现了问题。

  正确的访问格式

图片.png

3.实现时间之间的比较

时间格式使用的是LocalDateTime格式,接受之后格式化方式是:
@JsonFormat(shape = JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime转Date之后实现时间之间的比较

扫描二维码关注公众号,回复: 13471479 查看本文章
LocalDateTime BeginTime = bsactiveDO.getSignBeginTime();
LocalDateTime EndTime = bsactiveDO.getSignEndTime();
Date beginTime = Date.from(BeginTime.atZone(ZoneId.systemDefault()).toInstant());
Date endTime = Date.from(EndTime.atZone(ZoneId.systemDefault()).toInstant());
Date now = new Date();
if (beginTime.getTime() > now.getTime()) {
    bsactiveDO.setBsActiveState(1);
} else if (now.getTime() >= beginTime.getTime() && now.getTime() < endTime.getTime()) {
    bsactiveDO.setBsActiveState(2);
} else {
    bsactiveDO.setBsActiveState(3);
}
复制代码

Date转LocalDateTime
Instant instant = date.toInstant();//An instantaneous point on the time-line.(时间线上的一个瞬时点。) ZoneId zoneId = ZoneId.systemDefault();//A time-zone ID, such as {@code Europe/Paris}.(时区) LocalDateTime localDateTime = instant.atZone(zoneId).toLocalDateTime();

LocalDateTime转Date
ZoneId zoneId = ZoneId.systemDefault(); ZonedDateTime zdt = localDateTime.atZone(zoneId);//Combines this date-time with a time-zone to create a ZonedDateTime. Date date = Date.from(zdt.toInstant()); System.out.println(date.toString());//Tue Mar 27 14:17:

猜你喜欢

转载自juejin.im/post/7037288896983465992