51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

【Java 基础】Java 数据类型和 MySql 数据类型对应表

  • MySQL 数据类型对应 Java 数据类型

| 类型名称 | 显示长度 | 数据库类型 | JAVA 类型 | JDBC 类型索引 (int) | 描述 | |---------------|-----------|---------------------------|--------------------------|---------------------|--------| | | | | | | | | | | | | | | | VARCHAR | L+N | VARCHAR | java.lang.String | 12 | | | CHAR | N | CHAR | java.lang.String | 1 | | | BLOB | L+N | BLOB | java.lang.byte[] | -4 | | | TEXT | 65535 | VARCHAR | java.lang.String | -1 | | | | | | | | | | | | | | | | | INTEGER | 4 | INTEGER UNSIGNED | java.lang.Long | 4 | | | TINYINT | 3 | TINYINT UNSIGNED | java.lang.Integer | -6 | | | SMALLINT | 5 | SMALLINT UNSIGNED | java.lang.Integer | 5 | | | MEDIUMINT | 8 | MEDIUMINT UNSIGNED | java.lang.Integer | 4 | | | BIT | 1 | BIT | java.lang.Boolean | -7 | | | BIGINT | 20 | BIGINT UNSIGNED | java.math.BigInteger | -5 | | | FLOAT | 4+8 | FLOAT | java.lang.Float | 7 | | | DOUBLE | 22 | DOUBLE | java.lang.Double | 8 | | | DECIMAL | 11 | DECIMAL | java.math.BigDecimal | 3 | | | BOOLEAN | 1 | 同 TINYINT | | | | | | | | | | | | | | | | | | | ID | 11 | PK (INTEGER UNSIGNED) | java.lang.Long | 4 | | | | | | | | | | | | | | | | | DATE | 10 | DATE | java.sql.Date | 91 | | | TIME | 8 | TIME | java.sql.Time | 92 | | | DATETIME | 19 | DATETIME | java.sql.Timestamp | 93 | | | TIMESTAMP | 19 | TIMESTAMP | java.sql.Timestamp | 93 | | | YEAR | 4 | YEAR | java.sql.Date | 91 | |

对于 bolb,一般用于对图片的数据库存储,原理是把图片打成二进制,然后进行的一种存储方式,在 java 中对应 byte[]数组。

对于 boolen 类型,在 mysql 数据库中,个人认为用 int 类型代替较好,对 bit 操作不是很方便,尤其是在具有 web 页面开发的项目中,表示 0/1,对应 java 类型的 Integer 较好。Java 数据类型和 MySql 数据类型对应表 - 草原和大树 - 博客园

  • Mybatis 数据类型对应数据库和 Java 数据类型

| Mybatis | JdbcType | Oracle | MySql | |----------|---------------|----------------|--------------------| | JdbcType | ARRAY | | | | JdbcType | BIGINT | | BIGINT | | JdbcType | BINARY | | | | JdbcType | BIT | | BIT | | JdbcType | BLOB | BLOB | BLOB | | JdbcType | BOOLEAN | | | | JdbcType | CHAR | CHAR | CHAR | | JdbcType | CLOB | CLOB | CLOB--> 修改为 TEXT | | JdbcType | CURSOR | | | | JdbcType | DATE | DATE | DATE | | JdbcType | DECIMAL | DECIMAL | DECIMAL | | JdbcType | DOUBLE | NUMBER | DOUBLE | | JdbcType | FLOAT | FLOAT | FLOAT | | JdbcType | INTEGER | INTEGER | INTEGER | | JdbcType | LONGVARBINARY | | | | JdbcType | LONGVARCHAR | LONG VARCHAR | | | JdbcType | NCHAR | NCHAR | | | JdbcType | NCLOB | NCLOB | | | JdbcType | NULL | | | | JdbcType | NUMERIC | NUMERIC/NUMBER | NUMERIC/ | | JdbcType | NVARCHAR | | | | JdbcType | OTHER | | | | JdbcType | REAL | REAL | REAL | | JdbcType | SMALLINT | SMALLINT | SMALLINT | | JdbcType | STRUCT | | | | JdbcType | TIME | | TIME | | JdbcType | TIMESTAMP | TIMESTAMP | TIMESTAMP/DATETIME | | JdbcType | TINYINT | | TINYINT | | JdbcType | UNDEFINED | | | | JdbcType | VARBINARY | | | | JdbcType | VARCHAR | VARCHAR | VARCHAR |

注意到, MyBatis 的 JdbcType 中部分没有对应到 Oracle 和 Mysql 的数据类型中 (或许由于自己遗漏),不过不用担心,后续大家碰到再具体分析;同时上述对应关系不一定是一一对应,请大家了解。MyBatis 常用类型

  • Oracle 数据类型对应 Java 数据类型

| SQL 数据类型 | JDBC 类型代码 | 标准的 Java 类型 | Oracle 扩展的 Java 类型 | |----------------------------------|----------------------------------------|------------------------|-------------------------------| | | 1.0 标准的 JDBC 类型: | | | | CHAR | java.sql.Types.CHAR | java.lang.String | oracle.sql.CHAR | | VARCHAR2 | java.sql.Types.VARCHAR | java.lang.String | oracle.sql.CHAR | | LONG | java.sql.Types.LONGVARCHAR | java.lang.String | oracle.sql.CHAR | | NUMBER | java.sql.Types.NUMERIC | java.math.BigDecimal | oracle.sql.NUMBER | | NUMBER | java.sql.Types.DECIMAL | java.math.BigDecimal | oracle.sql.NUMBER | | NUMBER | java.sql.Types.BIT | boolean | oracle.sql.NUMBER | | NUMBER | java.sql.Types.TINYINT | byte | oracle.sql.NUMBER | | NUMBER | java.sql.Types.SMALLINT | short | oracle.sql.NUMBER | | NUMBER | java.sql.Types.INTEGER | int | oracle.sql.NUMBER | | NUMBER | java.sql.Types.BIGINT | long | oracle.sql.NUMBER | | NUMBER | java.sql.Types.REAL | float | oracle.sql.NUMBER | | NUMBER | java.sql.Types.FLOAT | double | oracle.sql.NUMBER | | NUMBER | java.sql.Types.DOUBLE | double | oracle.sql.NUMBER | | RAW | java.sql.Types.BINARY | byte[] | oracle.sql.RAW | | RAW | java.sql.Types.VARBINARY | byte[] | oracle.sql.RAW | | LONGRAW | java.sql.Types.LONGVARBINARY | byte[] | oracle.sql.RAW | | DATE | java.sql.Types.DATE | java.sql.Date | oracle.sql.DATE | | DATE | java.sql.Types.TIME | java.sql.Time | oracle.sql.DATE | | TIMESTAMP | java.sql.Types.TIMESTAMP | javal.sql.Timestamp | oracle.sql.TIMESTAMP | | | 2.0 标准的 JDBC 类型: | | | | BLOB | java.sql.Types.BLOB | java.sql.Blob | oracle.sql.BLOB | | CLOB | java.sql.Types.CLOB | java.sql.Clob | oracle.sql.CLOB | | 用户定义的对象 | java.sql.Types.STRUCT | java.sql.Struct | oracle.sql.STRUCT | | 用户定义的参考 | java.sql.Types.REF | java.sql.Ref | oracle.sql.REF | | 用户定义的集合 | java.sql.Types.ARRAY | java.sql.Array | oracle.sql.ARRAY | | | Oracle 扩展: | | | | BFILE | oracle.jdbc.OracleTypes.BFILE | N/A | oracle.sql.BFILE | | ROWID | oracle.jdbc.OracleTypes.ROWID | N/A | oracle.sql.ROWID | | REF CURSOR | oracle.jdbc.OracleTypes.CURSOR | java.sql.ResultSet | oracle.jdbc.OracleResultSet | | TIMESTAMP | oracle.jdbc.OracleTypes.TIMESTAMP | java.sql.Timestamp | oracle.sql.TIMESTAMP | | TIMESTAMP WITH TIME ZONE | oracle.jdbc.OracleTypes.TIMESTAMPTZ | java.sql.Timestamp | oracle.sql.TIMESTAMPTZ | | TIMESTAMP WITH LOCAL TIME ZONE | oracle.jdbc.OracleTypes.TIMESTAMPLTZ | java.sql.Timestamp | oracle.sql.TIMESTAMPLTZ |

oracle 中数据类型对应 java 类型 - 沧海一滴 - 博客园

  • SQL Server 字段类型对应 java 数据类型

| SQL Server 类型 | JDBC 类型 | Java 数据类型 | |------------------------|---------------------------------------|------------------------------| | bigint | BIGINT | long | | timestampbinary | BINARY | byte[] | | bit | BIT | boolean | | char | CHAR | String | | decimalmoneysmallmoney | DECIMAL | java.math.BigDecimal | | float | DOUBLE | double | | int | INTEGER | int | | imagevarbinary(max) | LONGVARBINARY | byte[] | | varchar(max)text | LONGVARCHAR | String | | nchar | CHARNCHAR (Java SE 6.0) | String | | nvarchar(max)ntext | LONGVARCHARLONGNVARCHAR (Java SE 6.0) | String | | numeric | NUMERIC | java.math.BigDecimal | | real | REAL | float | | smallint | SMALLINT | short | | datetimesmalldatetime | TIMESTAMP | java.sql.Timestamp | | varbinaryudt | VARBINARY | byte[] | | varchar | VARCHAR | String | | tinyint | TINYINT | short | | uniqueidentifier | CHAR | String | | xml | LONGVARCHARSQLXML (Java SE 6.0) | StringSQLXML | | 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 |

SQL Server 字段类型对应 java 数据类型

赞(0)
未经允许不得转载:工具盒子 » 【Java 基础】Java 数据类型和 MySql 数据类型对应表