Mybatisはデータベース時間を直接クエリーし、分秒ごとに空にします.jdbcTypeタイプは、Oracle、Mysql、Sqlserverデータ型に対応します.

2019 ワード

今日MybatisがSqlserverデータベースの時間を直接調べると1分秒ごとに空になるという問題に遭遇しました.
カラムマッピングでは


解析により、このマッピングに問題があることが判明し、以下のように変更された.


時間はすべて完全に表示されます.sqlserverの時間(datetimeタイプ)をjdbcTypeをDATEタイプにマッピングすると失われる時間は分秒でjavaのためです.sql.dateタイプは、時間分秒がサポートされていないため、TIMESTAMPタイプの完全表示にマッピングされます.
以下にjdbcTypeタイプとOracle、Mysql、Sqlserverデータ型の対応関係を添付します:Oracleとjava.sql.Typeの対応
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.Typeの対応
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.Typeの対応
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