https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-reference-configuration-properties.html
yearIsDateType
JDBC驱动程序应将MySQL类型“ YEAR”视为java.sql.Date, 或作为简短内容?
默认值:true
问题:如果YEAR(4)
是Integer
中的mysql
(默认情况下),为什么mysql-connector
java驱动程序将年份值设为{{ 1}}?
我的意思是,这种默认配置有任何理由吗?
因为:如果您不仔细查看数据库,则可以假设例如Date
的值直接来自数据库。但是,数据库仅将2017-01-01
作为年份值,而Java则默默地添加月份的第一天。
答案 0 :(得分:1)
文档内容如下:
YEAR[(2|4)]
YEAR
如果
yearIsDateType
配置属性设置为false,则 返回的对象类型为java.sql.Short
。如果设置为true
(默认设置), 那么返回的对象的类型为java.sql.Date
,日期设置为 1月1日午夜。
来源:https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-reference-type-conversions.html