JDBC、sqlserver数据库、Java中的数据类型对应关系

基本 SQL Server、JDBC 和 Java 编程语言数据类型之间的默认映射:

SQL Server 类型 JDBC 类型 (java.sql.Types) Java 语言类型

bigint

BIGINT

long

timestamp

binary

BINARY

byte[]

bit

BIT

boolean

char

CHAR

String

decimal

money

smallmoney

DECIMAL

java.math.BigDecimal

float

DOUBLE

double

int

INTEGER

int

image

varbinary(max)

LONGVARBINARY

byte[]

varchar(max)

text

LONGVARCHAR

String

nchar

CHAR

NCHAR (Java SE 6.0)

String

nvarchar

VARCHAR

NVARCHAR (Java SE 6.0)

String

nvarchar(max)

ntext

LONGVARCHAR

LONGNVARCHAR (Java SE 6.0)

String

numeric

NUMERIC

java.math.BigDecimal

real

REAL

float

smallint

SMALLINT

short

datetime

smalldatetime

TIMESTAMP

java.sql.Timestamp

varbinary

udt

VARBINARY

byte[]

varchar

VARCHAR

String

tinyint

TINYINT

short

uniqueidentifier

CHAR

String

xml

LONGVARCHAR

SQLXML (Java SE 6.0)

String

SQLXML

time

TIME (1)

java.sql.Time (1)

date

DATE

java.sql.Date

datetime2

TIMESTAMP

java.sql.Timestamp

datetimeoffset (2)

microsoft.sql.Types.DATETIMEOFFSET

microsoft.sql.DateTimeOffset

在Mybatis也明文建议在映射字段数据时需要将JdbcType属性加上。这样相对来说是比较安全的。

如以下情况是在保证了前三种是不能为空的前提下,而后面几项为空时也不至于程序报错。


    insert into student values (
        #{id},
        #{name},
        #{age},
        #{school,jdbcType=VARCHAR},
        #{address,jdbcType=VARCHAR},
        #{inTime,jdbcType=DATE},
        #{identityNo,jdbcType=VARCHAR},
        #{birthday,jdbcType=DATE}
    )

 

你可能感兴趣的:(小白手册)