java与mysql时间类型对应的问题
项目中遇到一个问题,从后台给出的json字符串中取得的时间,之后通过方法转换成 yyyy-MM-dd hh:mm:ss 的时候,转换后的得到的竟然是1969年。。。之后排查问题:
发现了在maybats中的 jdbcType="time"
而我在定义类的时候,把他定义成data类型了,应该是这个原因,之后网上找了下资料
有个结论是:
对于Ibatis操作Date/Time/DateTime,总结如下:
- 将pojo的属性类型设置为java.sql.Date(或java.sql.Time, java.sql.Timestamp),此时会严格遵循这三种类型的语义。但此方法因存在前文中提到的性能问题,在JDK1.6以前的JDK版本中能少使用就少使用。
- 如果你想在pojo中使用java.util.Date, 则要注意:
- 完整的日期时间,要确保jdbcType为空,或为DATE,TIME以外的值
- 只需要时间,要指定jdbcType=”TIME”
- 只需要日期,要指定jdbcType=”DATE”
只有结论(如果需要看过程就移步到原文,嘿嘿!)
原文地址:http://blog.csdn.net/keti_xuetangyi/article/details/8183752 感谢这位同学的分享