首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Java 與 MySQL 資料型別完整對照表(含 JDBC 類型碼)

     編輯:MySQL 資料庫相關知識

型別對照總表

MySQL 型別顯示長度Java 型別JDBC 類型碼備註
VARCHARL+Njava.lang.String12 (VARCHAR)
CHARNjava.lang.String1 (CHAR)
BLOBL+Nbyte[]-4 (BLOB)圖片/二進位資料
TEXT65535java.lang.String-1 (LONGVARCHAR)
TINYINT UNSIGNED3java.lang.Integer-6 (TINYINT)
SMALLINT UNSIGNED5java.lang.Integer5 (SMALLINT)
MEDIUMINT UNSIGNED8java.lang.Integer4 (INTEGER)
INT UNSIGNED10java.lang.Long4 (INTEGER)
BIGINT UNSIGNED20java.math.BigInteger-5 (BIGINT)
FLOAT4+8java.lang.Float7 (FLOAT)
DOUBLE22java.lang.Double8 (DOUBLE)
DECIMAL11java.math.BigDecimal3 (DECIMAL)精確計算首選
BIT1java.lang.Boolean-7 (BIT)
DATE10java.sql.Date91 (DATE)
TIME8java.sql.Time92 (TIME)
DATETIME19java.sql.Timestamp93 (TIMESTAMP)
TIMESTAMP19java.sql.Timestamp93 (TIMESTAMP)時區敏感
YEAR4java.sql.Date91 (DATE)

特殊型別處理建議

  • BLOB:對應 `byte[]`,讀寫需用 `getBytes()`/`setBytes()` 或流式 API (`getBinaryStream`)。
  • BOOLEAN:MySQL 內部為 `TINYINT(1)`,Java 建議用 `Integer` (0/1) 避免位元操作困擾,Web 表單綁定更直觀。
  • UNSIGNED:Java 無無號型別,超出有號範圍時升級對應型別(如 `INT UNSIGNED` → `Long`)。

JDBC 取值最佳實務

// 字串
String name = rs.getString("name");

// 數值(防止截斷)
long id = rs.getLong("id");
BigDecimal amount = rs.getBigDecimal("amount");

// 日期時間
java.sql.Date sqlDate = rs.getDate("created_at");
Timestamp ts = rs.getTimestamp("updated_at");
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved