您的位置:首页 > 数据库 > Oracle

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

2019-07-23 11:54 1561 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/qq_39191328/article/details/96978395

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

在做列映射时是这样的

<result column="CREATETIME" jdbcType="DATE" property="createTime" />

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

<result column="CREATETIME" jdbcType="TIMESTAMP" property="createTime" />

时间全部完整显示。
把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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: