关于jxl导出

不知道为什么,他说不能转载,看了下写的源代码我也懒得改。没什么大的需求变动,懒得改。只不过改了我们的一些不规范,不合理的方法和大家唠叨唠叨。

首先是项目,项目是spring4.X,mybatis5.X,jdk1.8的maven项目,暂时没有那么多条条框框复杂酷炫的功能,不过框架不是我弄得,很多问题需发现的时候晚了,竟可能的就是打补丁,打补丁,打补丁。。。

问题是,有些代码别人在用改起来项目就整个动荡,所以说很烦,以后答框架的哥们得注意的地方。

第一个:你的spring配置文件,扫描文件是否该加入通配符?为什么加通配符?网上找的通常是全项目扫描,说是一本万利,你大爷的你项目的utils需要扫描的?那些个没注解的文件除了个别的都要扫描的?误人子弟。

第二个时间格式:对于springmvc的时间格式一直是被诟病的问题,对于我们的数据库时间类型是date 没有时分秒的和datetime带时分秒的。映射进入JavaBean或者是proj得到的是格林威治时间。所以很多人提出了很多方法。大致是下面三种

a.局部添加

直接添加   @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")或者是 @DateTimeFormat(pattern="yyyy-MM-dd "),解决前端上传的string字符串引发的400错误。

但是时间格式是格林威治时间。

b.@JsonFormat(pattern="yyyy-MM-dd ") OR @JsonSerialize(using=CustomDateSerializer.class)

很多人是解决@ResponseBody 传值时时间的问题,不同点在于  @JsonSerialize(using=CustomDateSerializer.class) 需要自己新建一个CustomDateSerializer

关于jxl导出_第1张图片

需要引入jackson的包做一个支撑,因为spring mvc的底层使用的就是Jackson。还不如直接使用@JsonFormat(pattern="yyyy-MM-dd ") 

都是在当前Javabean或者反序列化或者序列化直接转化为当前注解格式。

另外说的全局格式

关于jxl导出_第2张图片

我从数据库查询数据的时候,如果是后台直接输出比如输出成一个Excel到前端,那么这里拿到的时间我的一样是格林威治时间,没啥鸟用。这里就是出现问题的原因。

关于jxl导出_第3张图片

通过mybatis自动生成后,项目沿用了一个它生成的example,之前没什么感觉现在,感觉就是操蛋的了。非常不方便,每次新加的字段都要自动在生成一次完全不灵活,自己加字段可能直接起不来。反正我是遇见过一次,后面改没出现问题不过很丑陋就是了我感觉。

所以不建议使用所谓的扩展类,没鸟用。麻烦不好改。。。

关于时间类型的自定义返回的如果是后台数据直接导出,那么就转化成为list这样就是一个json格式自动序列化时间不存在格林威治时间的问题。

直接

导出的时候也是通过一个list获取的值就不存在在转化的问题。so   easy。。。。。

你可能感兴趣的:(忽悠小学堂,及项目注意事项))