首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java 與 MySQL 數據類型映射完整對照表(含 JDBC 類型碼)

     編輯:Java 相關知識

核心映射表

MySQL 類型Java 類型JDBC 類型碼備註
VARCHARjava.lang.String12 (VARCHAR)長度可變
CHARjava.lang.String1 (CHAR)定長
BLOBbyte[]-4 (BLOB)二進制大對象
TEXTjava.lang.String-1 (LONGVARCHAR)大文本
TINYINTjava.lang.Integer / Boolean-6 (TINYINT)1字節,Boolean 映射需配置 tinyInt1isBit
SMALLINTjava.lang.Integer5 (SMALLINT)2字節
MEDIUMINTjava.lang.Integer4 (INTEGER)3字節
INT/INTEGERjava.lang.Integer4 (INTEGER)4字節
BIGINTjava.lang.Long / BigInteger-5 (BIGINT)8字節,無符號用 BigInteger
FLOATjava.lang.Float7 (FLOAT)4字節單精度
DOUBLEjava.lang.Double8 (DOUBLE)8字節雙精度
DECIMAL/NUMERICjava.math.BigDecimal3 (DECIMAL)精確數值,金融必用
BIT(1)java.lang.Boolean-7 (BIT)單位元
BIT(>1)byte[]-4 (VARBINARY)多位元
DATEjava.sql.Date91 (DATE)日期
TIMEjava.sql.Time92 (TIME)時間
DATETIMEjava.sql.Timestamp93 (TIMESTAMP)日期時間
TIMESTAMPjava.sql.Timestamp93 (TIMESTAMP)帶時區
YEARjava.sql.Date / Short91 (DATE)年份,配置 yearIsDateType
ENUM/SETjava.lang.String1 (CHAR)枚舉/集合
BINARY/VARBINARYbyte[]-2/-3 (BINARY/VARBINARY)二進制字節串

特殊類型處理建議

  • BLOB:存儲圖片/文件二進制,Java 用 byte[],大文件建議存檔案系統只存路徑。
  • BOOLEAN:MySQL 本質是 TINYINT(1),Java 建議用 Integer (0/1) 避免 tinyInt1isBit 配置坑,Web 交互更直觀。
  • DECIMAL:金額、精確計算必須用 BigDecimal,對應 MySQL DECIMAL(precision, scale)。
  • 時區:TIMESTAMP 會按時區轉換,DATETIME 不轉換。全局建議統一 UTC 存儲。

JDBC 獲取類型碼


ResultSetMetaData meta = rs.getMetaData();
int type = meta.getColumnType(i); // 返回上表 JDBC 類型碼
String typeName = meta.getColumnTypeName(i); // 返回數據庫類型名
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved