Java 資料型別和 MySql 資料型別對應一覽表
MySQL Connector/J 對於 MySql 資料型別和 Java 資料型別之間的轉換是很靈活的。
一般來講,任何 MySql 資料型別都可以被轉換為一個 java.lang.String,任何 MySql 數字型別都可以被轉換為任何一種 Java 數字型別(當然這樣也可能出一些四捨五入,溢位,精度丟失之類的問題)。
ResultSet.getObject() 方法遵循 JDBC 規範對 MySql 和 Java 的型別進行轉換。
一般來講,任何 MySql 資料型別都可以被轉換為一個 java.lang.String,任何 MySql 數字型別都可以被轉換為任何一種 Java 數字型別(當然這樣也可能出一些四捨五入,溢位,精度丟失之類的問題)。
MySql 資料型別 | 可以被轉換成的 Java 型別 |
---|---|
CHAR, VARCHAR, BLOB, TEXT, ENUM, and SET | java.lang.String, java.io.InputStream, java.io.Reader, java.sql.Blob, java.sql.Clob |
FLOAT, REAL, DOUBLE PRECISION, NUMERIC, DECIMAL, TINYINT, SMALLINT, MEDIUMINT, INTEGER, BIGINT | java.lang.String, java.lang.Short, java.lang.Integer, java.lang.Long, java.lang.Double, java.math.BigDecimal |
DATE, TIME, DATETIME, TIMESTAMP | java.lang.String, java.sql.Date, java.sql.Timestamp |
ResultSet.getObject() 方法遵循 JDBC 規範對 MySql 和 Java 的型別進行轉換。
MySql 型別名 | GetColumnClassName 返回值 | 返回的 Java 類 |
---|---|---|
BIT(1)(MySQL-5.0 新引入) | BIT | java.lang.Boolean |
BIT(大於 1) (MySQL-5.0 新引入) | BIT | byte[] |
TINYINT | TINYINT | 如果 tinyInt1isBit 配置設定為 true(預設為 true),是 java.lang.Boolean,儲存空間 為 1;否則是為 java.lang.Integer |
BOOL, BOOLEAN | TINYINT | 參見 TINYINT。這些是 TINYINT(1) 另一種寫法而已 |
SMALLINT[(M)] [UNSIGNED] | SMALLINT [UNSIGNED] | java.lang.Integer(不管是否無符) |
MEDIUMINT[(M)] [UNSIGNED] | MEDIUMINT [UNSIGNED] | java.lang.Integer;無符的話是 java.lang.Long(C/J 3.1 或更早),或者 java.lang.Integer(C/J 5.0 或更晚) |
INT,INTEGER[(M)] [UNSIGNED] | INTEGER [UNSIGNED] | java.lang.Integer;無符的話是 java.lang.Long |
BIGINT[(M)] [UNSIGNED] | BIGINT [UNSIGNED] | java.lang.Long;無符的話是 java.math.BigInteger |
FLOAT[(M,D)] | FLOAT | java.lang.Float |
DOUBLE[(M,B)] | DOUBLE | java.lang.Double |
DECIMAL[(M[,D])] | DECIMAL | java.math.BigDecimal |
DATE | DATE | java.sql.Date |
DATETIME | DATETIME | java.sql.Timestamp |
TIMESTAMP[(M)] | TIMESTAMP | java.sql.Timestamp |
TIME | TIME | java.sql.Time |
YEAR[(2|4)] | YEAR | 如果 yearIsDateType 配置設定為 false,返回的物件型別為 java.sql.Short;如果設定為 true(預設為 true),返回的物件型別是 java.sql.Date,其具體時間是為一月一日零時零分 |
CHAR(M) | CHAR | java.lang.String(除非該列字符集設定為 BINARY,那樣返回 byte[]) |
VARCHAR(M) [BINARY] | VARCHAR | java.lang.String(除非該列字符集設定為 BINARY,那樣返回 byte[]) |
BINARY(M) | BINARY | byte[] |
VARBINARY(M) | VARBINARY | byte[] |
TINYBLOB | TINYBLOB | byte[] |
TINYTEXT | VARCHAR | java.lang.String |
BLOB | BLOB | byte[] |
TEXT | VARCHAR | java.lang.String |
MEDIUMBLOB | MEDIUMBLOB | byte[] |
MEDIUMTEXT | VARCHAR | java.lang.String |
LONGBLOB | LONGBLOB | byte[] |
LONGTEXT | VARCHAR | java.lang.String |
ENUM('value1','value2',...) | CHAR | java.lang.String |
ET('value1','value2',...) | CHAR | java.lang.String |
相關文章
- MyBatis Java 和 資料庫 資料型別對應表MyBatisJava資料庫資料型別
- Oracle資料型別對應Java型別Oracle資料型別Java
- MYSQL資料庫型別與JAVA型別對應關係MySql資料庫型別Java
- Java 支援的資料型別與 MySQL 支援的資料型別對比Java資料型別MySql
- Java資料型別與資料庫欄位型別對應關係Java資料型別資料庫
- [轉]ABAP資料型別與Java資料型別的對應關係資料型別Java
- JAVA中基本資料型別和引用資料型別Java資料型別
- 簡單資料型別和引用資料型別對應棧和堆示意圖資料型別
- Oracle和sqlserver資料型別對應OracleSQLServer資料型別
- js資料型別之基本資料型別和引用資料型別JS資料型別
- MySQL與Java常用資料型別的對應關係MySqlJava資料型別
- 強資料型別和弱資料型別資料型別
- MySql和SQL Server資料型別 對比MySqlServer資料型別
- 區別值型別資料和引用型別資料型別
- MYSQL 資料型別MySQL 資料型別
- [Mysql]資料型別MySql資料型別
- MySQL資料型別MySql資料型別
- Mysql資料庫學習(二):資料型別(數值型別 日期和時間型別 字串型別)MySql資料庫資料型別字串
- SQL Server 2005 資料型別和.Net資料型別的對應關係SQLServer資料型別
- Java資料型別Java資料型別
- Mysql 資料型別之整數型別MySQL 資料型別
- 【MySQL資料型別3之--字元型別】MySql資料型別字元
- MySQL基礎之----資料型別篇(常用資料型別)MySql資料型別
- Java基本資料型別和引用型別 - Java那些事兒Java資料型別
- Java資料型別及型別轉換Java資料型別
- Java中的基本資料型別與引用資料型別Java資料型別
- MySQL 的資料型別MySql資料型別
- 理解MySQL資料型別MySql資料型別
- MySQL的資料型別MySql資料型別
- MySQL基本資料型別MySql資料型別
- 資料型別: 資料型別有哪些?資料型別
- 【java資料型別和運算子】Java資料型別
- 一、資料型別資料型別
- 【MySQL資料型別1之--數值型別】MySql資料型別
- Java 基本資料型別Java資料型別
- Java -基本資料型別Java資料型別
- Java基本資料型別Java資料型別
- SQL SERVER與C#的資料型別對應表SQLServerC#資料型別