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

本文详细介绍了SQLServer数据库中的数据类型如何映射到Java编程语言中的数据类型,包括基本的数据类型如整数、浮点数、字符串、日期等,并提供了在Mybatis框架中使用JdbcType属性进行安全映射的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基本 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 id="saveInfos">
    insert into student values (
        #{id},
        #{name},
        #{age},
        #{school,jdbcType=VARCHAR},
        #{address,jdbcType=VARCHAR},
        #{inTime,jdbcType=DATE},
        #{identityNo,jdbcType=VARCHAR},
        #{birthday,jdbcType=DATE}
    )

</insert>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值