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

今天遇到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的对应

Oraclejava.sql.Types (jdbcType)
blobblob
charchar
clobclob
datedate
numberdecimal
longvarbinary
nclob,nvarchar2other
smallintsmallint
timestamptimestamp
rawvarbinary
varchar2varchar

Sql server与java.sql.Types的对应

Sql serverjava.sql.Types
bigint (2005,2008)bigint
timstamp,binarybinary
bitbit
char,nchar,unqualifiedchar
datetimedate
money,smallmoney,decimaldecimal
float (2005,2008)double
float(2000)float
intinteger
imagelongvarbinary
text,ntext,xmllongvarchar
numericnumeric
realreal
smallintsmallint
datetime,smalldatetimetimestamp
tinyinttinyint
varbinaryvarbinay
nvarchar,varcharvarchar

MySQL与java.sql.Types的对应

MySQLjava.sql.Types
bigintbigint
tinyblobbinary
bitbit
enum,set,charchar
date,yeardate
decimal,numericdecimal
double,realdouble
mediumint,intinteger
blob,mediumblobblob
longblob
floatreal
smallintsmallint
timetime
timestamp,datetimetimestamp
tinyinttinyint
varbinary,binaryvarbinay
varchar,tinytext,textvarchar
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值