需求是前端上传一个表格,需要将表格中的数据进行处理并插入到数据库中,表格的数据量可能会很大,容易超时,所以采用异步方式。 异步处理 启动类上添加@EnableAsync 在数据处理的方法上添加@Async注解,注意该方法被同一个类中的方法调用是无效的。也就是说该方法不能写在控制器中。 结果获取 对于处理进度和处理结果,我是用的redis来处理的。 在数据处理时不断更新redis中的数据,然后提供一个接口用来让前端获取处理进度和处理结果。 前端可以设置定时器不断获取处理进度和处理结果。 当数据处理完成并且用户已经获得…

2020年02月19日 0条评论 161点热度 0人点赞 阅读全文

记录个实例,以备后用。 毕设中有一个功能是问卷/测试。在一定情况下用户可以提交多次,并且每次的提交记录都会保留,但是在汇总时,如果是问卷,只保留最新一个,如果是测试,保留得分最高的一个。 取每组的第一个值 由于从数据库取出时已经按提交时间倒序,所以取第一条记录即可。如果没有排序,可以参考下面取最大值的方法。 由于最后需要List类型,所以将Map转为了List。 取每组第一个的代码主要为 Collectors.groupingBy函数是用于分组的,第一个参数是key值,表示按照什么分组。 Collectors.co…

2020年02月15日 0条评论 221点热度 0人点赞 阅读全文

记录个实例,以备后用 有两张表,一张为文章表,另一张为分类表,其中有一个字段代表该分类下的文章总数。 需求是更新分类表中每个分类的计数字段

2020年02月13日 0条评论 207点热度 0人点赞 阅读全文

这种方式每个接口都需要填写header,还有一种方法只需要填写一次。 有一个要注意的是,ApiKey() 中的name要与SecurityReference() 中reference要对应,一开始一直无效,后来才发现问题出在这儿

2020年02月13日 0条评论 126点热度 0人点赞 阅读全文

可以先创建一个Order列表,在用Sort.of(xxx)创建Sort 实例 对应的接口 如果要分页的话,PageRequest的第三个参数传入sort,接口传入Pageable即可。

2020年02月10日 0条评论 237点热度 0人点赞 阅读全文

需求是在分页结果中,每一条都做一定的处理。 一开始尝试获取content使用stream再赋值回去,发现无法设置content 后来发现Page自带map方法

2020年02月09日 0条评论 162点热度 0人点赞 阅读全文

当Option对象中的值为null的时候,调用get函数,会报错。 可以在调用get前使用isPresent函数来判断。 除此也可以用orElse或者orElseGet来返回一个默认值。 区别: orElse中传入的参数为一个值,orElseGet中传入的类型是Supplier 所以,如果传入函数的话,orElse是否值为null都会执行传入的函数,而orElseGet只有在值为null时才会执行传入的函数

2020年02月09日 0条评论 222点热度 0人点赞 阅读全文

记录个实例,以备后用 对于同时包含and和or的,例如: (status=2 or status=3) and category_id=xxx and user_id=xxx

2020年02月08日 0条评论 191点热度 0人点赞 阅读全文

org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'key' in 'class java.lang.String' sql中使用了test语句,报了这个错误。 加上@param就不报错了 具体什么原因不知道,其他地方一样的用法就不报错= =

2020年02月08日 0条评论 154点热度 0人点赞 阅读全文

存取枚举的名字 只需在实体类对应的属性上添加 @ColumnType(jdbcType = JdbcType.VARCHAR)即可 存取枚举的索引 使用TypeHandler 继承EnumOrdinalTypeHandler 然后在注解@ColumnType中指定typeHandler 注意,如果自定义sql语句的话,记得在@Result注解中指定typeHandler 其他 如果针对其他更加复杂的类型的话,就要自定义TypeHandler了。 参考:https://www.wandouip.com/t5i3602…

2020年02月07日 0条评论 423点热度 0人点赞 阅读全文
13456714