自定义时间类型的处理器
在日常开发中,我们肯定有对日期类型的操作。比如订单时间、付款时间等,通常这一类数据在数据库以datetime类型保存。如果需要在页面上展示此值,在Java中以什么类型接收它呢?
在不执行任何二次操作的情况下:
用java.util.Date接收,在页面展示的就是Tue Oct 16 16:05:13 CST 2018。
用java.lang.String接收,在页面展示的就是2018-10-16 16:10:47.0。
显然,我们不能显示第一种。第二种似乎可行,但大部分情况下不能出现毫秒数。当然了,不管哪种方式,在显示的时候format一下当然是可行的。有没有更好的方式呢?
无论是 MyBatis 在预处理语句(PreparedStatement)中设置一个参数时,还是从结果集中取出一个值时, 都会用类型处理器将获取的值以合适的方式转换成 Java 类型。
在数据库中,datetime和timestamp类型含义是一样的,不过timestamp存储空间小, 所以它表示的时间范围也更小。
使用了自定义类型处理器的话,这样就可以用String类型接收数据库为timestamp的时间数据了.
案例:ZJJ_Mybatis_2020/05/18_14:29:57_vujdu |
---|