Mybatis直接查询数据库时间,时分秒被置空。jdbcType类型与Oracle、Mysql、Sqlserver数据类型对应关系。

今天遇到Mybatis直接查Sqlserver数据库时间 时分秒被置空的问题

在做列映射时是这样的


经分析发现是这个映射出问题了
改成如下


时间全部完整显示。
把sqlserver的时间(datetime类型)映射为jdbcType为DATE类型的话会丢失时分秒,原因是java.sql.date类型是不支持时分秒的,由此映射成TIMESTAMP类型完整显示。

下面附jdbcType类型与Oracle、Mysql、Sqlserver数据类型对应关系:
Oracle与java.sql.Types的对应

Oracle java.sql.Types (jdbcType)
blob blob
char char
clob clob
date date
number decimal
long varbinary
nclob,nvarchar2 other
smallint smallint
timestamp timestamp
raw varbinary
varchar2 varchar

Sql server与java.sql.Types的对应

Sql server java.sql.Types
bigint (2005,2008) bigint
timstamp,binary binary
bit bit
char,nchar,unqualified char
datetime date
money,smallmoney,decimal decimal
float (2005,2008) double
float(2000) float
int integer
image longvarbinary
text,ntext,xml longvarchar
numeric numeric
real real
smallint smallint
datetime,smalldatetime timestamp
tinyint tinyint
varbinary varbinay
nvarchar,varchar varchar

MySQL与java.sql.Types的对应

MySQL java.sql.Types
bigint bigint
tinyblob binary
bit bit
enum,set,char char
date,year date
decimal,numeric decimal
double,real double
mediumint,int integer
blob,mediumblob blob
longblob
float real
smallint smallint
time time
timestamp,datetime timestamp
tinyint tinyint
varbinary,binary varbinay
varchar,tinytext,text varchar

你可能感兴趣的:(问题记录)