oracle11g数据库使用mybatis-generator生成持久层时日期显示问题笔记
oracle数据库的日期常用的有Date和timestamp两种类型,其中date类型不显示时分秒,timestamp类型显示时分秒,在使用timestamp类型时如果使用mybatis-generator的xml模板生成实体类和mapper时,需指定对应的时间类型对应的jdbcType:
<table tableName="tableName" domainObjectName="实体类名称">
<columnOverride column="时间类型字段" jdbcType="TIMESTAMP"/>
</table>
当oracle表中字段的时间设置为date类型时,如果不加
<columnOverride column="时间类型字段" jdbcType="TIMESTAMP"/>
,则mapper文件中默认会设置日期字段的jdbyType为Date类型,这时如果对数据进行查询和插入操作存入数据库的时间都会是没有时分秒的,即使查出来做时分秒的转换也只能拿到00:00:00而已;不过如果加上上边的字段声明,则该字段在转换时会按照timestamp类型处理,虽然使用工具查看oracle数据库时日期不显示时分秒,但是时分秒是正常存进数据库里的,此时java在查询的时候可以正常的转换出时分秒的数据来。