1、非常常用的时间格式化
Date d = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
2、关于mybatis或mybatis-plus踩的坑
service.list(new QueryWrapper<Obj>().eq("build_id", buildId).eq("status", "1"));
queryWrapper.and(wrapper -> wrapper.like("name", deviceId).or().like("serial_number", deviceId))
有时候在更新对象时,不是根据对象主键进行更新,是根据某字段进行更新,如下:通过collect_id更新对象的delete_time,state字段;这样的弊端是:通过某字段更新的方式,不能进行批量。只有通过主键更新才可以批量
Dispatch dispatch = new Dispatch(); dispatch.setDeleteTime(new Date()); dispatch.setState("3"); dispatchService.update(dispatch, new UpdateWrapper<TResidentAuthDispatch>().eq("collect_id", item.getAuthor_id()));
3、定时任务,可使用@cron来配置执行时间、执行频率等等
4、在业务系统中常常有文件传输的操作,当传输耽搁文件时,可使用来接收,如下一,这里前台是传的一个复杂表单,对象字段用对象接收,文件单独接收;如果是一个文件的list,后台也需要使用list来接收;
//单个文件对象,含其他字段 addOrEditUser(@RequestParam(name = "picpath1", required = false) MultipartFile file,AdminUser user);
//多个文件对象同时传输
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
List<MultipartFile> mflist = multipartRequest.getFiles("file");
5、关于JSON对象转换的问题,asyncData是请求传回来的值,即使使用list<EquipResp>接收返回数据,可以转换成一个JSON的对象集合,可以获取集合的size(),但asyncData.get(j).getAge()竟然会报错(JSON转化异常),这就让人纳闷了,好吧!那就转换一次吧 !依然还是需要转换才能真正获取对象。
quipResp resp = JSONObject.parseObject(asyncData.get(j) + "", EquipResp.class);
6、上传文件时常常会用到的获取项目真实部署路径,项目部署名
request.getServletContext().getRealPath("/"));
//D:\000AAA\.metadata\.plugins\org.eclipse.wst.server.core\tmp2\wtpwebapps\kun-house-deploy\
request.getServletContext().getContextPath();//house
7、System.currentTimeMillis(); 系统毫秒值
8、后台请求查出来的数据编码正常,传输到前台乱码,此时需要设置requestMapping里面的编码为UTF-8。在requestMapping中加入这个属性,
produces = MediaType.APPLICATION_JSON_UTF8_VALUE
9、char 与 int 默认自动转化 ,真的不容易发现的问题!!!
原文:https://www.cnblogs.com/CatcherLJ/p/11474255.html