201222:异常信息对应实体类注解-SonarLint插件的使用-Java计算时间差(两个时间相减)

一. 异常信息对应实体类注解

异常信息

IllegalArgumentException: This class [class com.dragonsoft.slxf.aviation.ent

解决:实体类上加@Entity注解

异常信息

UnsatisfiedDependencyException: Error creating bean with name 'aviationPlanI

解决:主键只能有一个所以@Id只能有一个

异常信息

InvalidDataAccessResourceUsageException: could not extract ResultSet;

原因:

  1. 表与字段没有对应起来
  2. 数据库连接池配置方言与数据库不匹配

检查下实体类中的字段和数据库里的是否一致

该异常参考文章

异常信息

JpaSystemException: ids for this class must be manually assigned before calling save():

原因是因为实体类上没有加自动生成id的注解

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)

该异常解决参考

异常信息

MissingServletRequestParameterException: Required DynamiVo parameter 'dynamiVo' is not present

原因:api里面的注解要加上@RequestBody 契约平台里参数类型为body

二. SonarLint插件的使用

  1. SonarLint发现的问题后,会根据问题类型给出推荐的的范例代码协助开发人员找到合适的修改思路.
  2. 但是默认规则从代码规范,命名,可以省略不必要代码,方法逻辑复杂度等多个维度进行规范评估,给出信息种类过于多,试用之后,根据需要先定制下使用哪些规则,才更好有针对性的使用.

详细使用请参考该文章

三. Java计算时间差(两个时间相减)

参考如下代码:


DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
try  
{  
    Date d1 = df.parse("2004-03-26 13:31:40");  
    Date d2 = df.parse("2004-01-02 11:30:24");  
    long diff = d1.getTime() - d2.getTime();//这样得到的差值是毫秒级别  
    long days = diff / (1000 * 60 * 60 * 24);  

    long hours = (diff-days*(1000 * 60 * 60 * 24))/(1000* 60 * 60);  
    long minutes = (diff-days*(1000 * 60 * 60 * 24)-hours*(1000* 60 * 60))/(1000* 60);  
    System.out.println(""+days+"天"+hours+"小时"+minutes+"分");  
}catch (Exception e)  
{  
} 

Java计算时间查参考文章

你可能感兴趣的:(201222:异常信息对应实体类注解-SonarLint插件的使用-Java计算时间差(两个时间相减))