| Java 数据类型 | MyBatis JDBC Type | MySQL 数据类型 |
|---|---|---|
Integer | INTEGER | INT |
Short | SMALLINT | SMALLINT |
Long | BIGINT | BIGINT |
Float | FLOAT | FLOAT |
Double | DOUBLE | DOUBLE |
String | VARCHAR, LONGVARCHAR, CHAR | VARCHAR, TEXT, CHAR |
java.util.Date, java.sql.Timestamp | TIMESTAMP, DATE, TIME | TIMESTAMP, DATE, TIME |
java.time.LocalDate | DATE | DATE |
java.time.LocalDateTime | TIMESTAMP | DATETIME, TIMESTAMP |
Boolean | BIT | BIT |
byte[] | BINARY, VARBINARY, LONGVARBINARY | BINARY, VARBINARY, BLOB |
Clob (Java类型,代表大文本) | CLOB | TEXT, LONGTEXT |
需要注意的是,Java中的BigDecimal类型对应MyBatis的DECIMAL或NUMERIC JDBC类型,MySQL中对应DECIMAL数据类型。
此外,Java 8中的日期时间API(如LocalDate、LocalDateTime)在MyBatis中可能需要特殊处理或适配器来进行转换,具体取决于MyBatis版本和MySQL驱动的兼容性。