开发过程中遇到问题

遇到问题
1、接口传递批次数据及解析的问题? 通过HttpClient 调用接口 接收方使用fastjson解析
解决方案:传递的对象包含集合封装成json字符串,
如果传递的单个对象,对象里包含有集合
可以使用 ATS ATSInfo = JSON.parseObject(result, new TypeReference<ATS>(){}); (ATS 封装的大对象,自定义)
如果请求方是以多个对象集合形式传递,那么接收方也必须是以集合形式接收,否则会解析错误
通过此方法解决传递集合的问题: ArrayList<ATS> atsList = JSON.parseObject(result, new TypeReference<ArrayList<ATS>>(){}); //转换为集合对象

2、项目突然全部报错代码报红的问题?
    解决方案:发现是maven私服出现了问题,通过更改maven私服地址解决

3、批量接口调用,出现插入数据异常,数据库里没有数据却依然报插入数据违反唯一约束?
     解决方案:慎用全局变量,传递对象或参数最好使用方法入参的方式传递。

4、直接使用 insert  into values 全量插入 ,一旦后期表结构出现增减,会直接报插入语句错误。 

    解决方案:对于插入语句应尽量使用insert into 加字段名  values  对应添加的字段值。     

5、当maven仓库中有jar包,但是项目中引用jar包依然报错的问题?

    解决方案:可以尝试使用调整动一下maven版本、本地maven仓库地址可以解决 

6、在代码中当插入的sql语句日期类型有可能为null时,插入语句报错?

      解决方案:在代码中进行sql语句拼接,使用stringbuffer.append() 方法拼接,进行为null的判断  ,为null时,拼接时去除单引号。

7、在http接口调用中,出现数据累加,造成多次提交数据库问题?

     解决方案:在http接口调用时,应避免使用全局变量,应把变量放在执行的方法内。(原因:在二次接口调用时,接口类内的全局变量不会再重新初始化)。

 8、导入的excel表格数据去重的问题?

     解决方案:使用 Map<String,Object> map = new HashMap<>();   把有可能重复的数据以key和value  put进map中 ,用 map.containsKey("key") 方法判断key是否存在,若存在返回true ,不存在则返回false。

9、SpringMVC前台提交参数绑定list时大小超过256

  解决方案:①在使用该方法的类上添加方法修改默认长度

@InitBinde
public void initBinder(WebDataBinder binder) {
  //长度根据实际情况修改
  binder.setAutoGrowCollectionLimit(500);  }

10、循环删除list中的数据(使用Iterator)

11、定义批处理时,当每隔一定时间跑一次,并且只跑当天数据时,有可能会提取不到达当天间隔时间到零时的数据。(例:批处理每天间隔两个小时跑一次并且只提取当天数据,那么会导致22点至零点这个区间生成的数据提不到)。

     解决方案;提取数据应包含前一天的数据,或者包含前一天22点后的数据。

 12.mysql从数据库,与主数据数据不同步?

   原因:数据量过大从数据库在同步数据过程中若出现异常,从数据库以后不会在同步数据了。

  解决:当mysql部署有从节点时,应避免大批量删除修改直接操作数据库,同时同步的表中应有主键(初步万条以上数据),

13. mysql数据库锁表?
       00:00分操作数据库时(导致锁表),调度在00:00分备份数据库表。两个冲突导致系统进程大量SQL等待执行。

    

 

 

 

 

 

 



posted @ 2019-06-20 08:58  徒手攀岩  阅读(288)  评论(0编辑  收藏  举报