1.Java类型与MySQL类型对应关系
- byte:对应MySQL中的TINYINT。
- short:对应MySQL中的SMALLINT。
- int:对应MySQL中的INT。
- long:对应MySQL中的BIGINT。
- float:对应MySQL中的FLOAT。
- double:对应MySQL中的DOUBLE。
- BigDecimal:对应MySQL中的DECIMAL。
- String:对应MySQL中的CHAR、VARCHAR等。
- java.sql.Date:对应MySQL中的DATE。
- java.sql.Time:对应MySQL中的TIME。
- java.sql.Timestamp:对应MySQL中的DATETIME。
- byte[]:对应MySQL中的BLOB。
- java.sql.Clob:对应MySQL中的TEXT。
2.Java类型与SQL Server类型对应关系
- byte:对应SQL Server中的TINYINT。
- short:对应SQL Server中的SMALLINT。
- int:对应SQL Server中的INT。
- long:对应SQL Server中的BIGINT。
- float:对应SQL Server中的FLOAT或REAL(根据精度选择)。
- double:对应SQL Server中的DOUBLE PRECISION或FLOAT(更高精度)。
- BigDecimal:对应SQL Server中的DECIMAL或NUMERIC。
- String:对应SQL Server中的CHAR、VARCHAR等。
- java.sql.Date:对应SQL Server中的DATE。
- java.sql.Time:对应SQL Server中的TIME。
- java.sql.Timestamp:对应SQL Server中的DATETIME或SMALLDATETIME(根据精度选择)。
- byte[]:对应SQL Server中的BINARY或VARBINARY。
- java.sql.Clob:对应SQL Server中的TEXT或NTEXT(取决于字符集)。
3.Java类型与Oracle类型对应关系
- String:对应Oracle中的VARCHAR2、CHAR、NVARCHAR2、NCHAR等。
- int、long、double等:对应Oracle中的NUMBER类型(根据精度和范围选择适当的Java数值类型)。
- java.util.Date(或java.time包中的类):对应Oracle中的DATE、TIMESTAMP类型。
- java.sql.Clob:对应Oracle中的CLOB。
- java.sql.Blob:对应Oracle中的BLOB。
- boolean或Boolean:Oracle中没有原生的BOOLEAN类型,但可以使用NUMBER(1)来模拟。
4.Java类型与DB2类型对应关系
- short:对应DB2中的SMALLINT。
- long:对应DB2中的BIGINT。
- float:对应DB2中的REAL。
- double:对应DB2中的DOUBLE。
- BigDecimal:对应DB2中的DECIMAL或NUMERIC。
- String:对应DB2中的CHAR、VARCHAR等。
- java.sql.Date:对应DB2中的DATE。
- java.sql.Time:对应DB2中的TIME。
- java.sql.Timestamp:对应DB2中的TIMESTAMP。
- byte[]:对应DB2中的BLOB或BINARY(取决于使用场景)。
- java.sql.Clob:对应DB2中的CLOB或DBCLOB(取决于字符集)。
5.Java类型与MongoDB(BSON)类型对应关系
- String:对应BSON中的String类型。
- Integer:对应BSON中的Integer类型(32位或64位,取决于Java的实现和MongoDB的配置)。
- Double:对应BSON中的Double类型(64位IEEE 754浮点数)。
- Boolean:对应BSON中的Boolean类型(true或false)。
- Date:对应BSON中的DateTime类型(整数,表示自UNIX时间以来的毫秒数)。
- List:对应BSON中的Array类型。
- Map:对应BSON中的Document类型。
- BigDecimal:对应BSON中的Decimal128类型(128位IEEE 754-2008浮点数,Binary Integer Decimal变体)。
- byte[]:对应BSON中的Binary类型。
6.Java类型与PostgreSQL类型对应关系
- Java的byte类型,通常对应PostgreSQL的SMALLINT类型(尽管byte是8位,但PostgreSQL没有直接的8位整数类型,SMALLINT是16位,但可以安全地存储byte的值)。
- Java的short类型,对应PostgreSQL的SMALLINT类型。
- Java的int类型,对应PostgreSQL的INTEGER或INT类型。
- Java的long类型,对应PostgreSQL的BIGINT类型。
- Java的float类型,对应PostgreSQL的REAL类型。
- Java的double类型,对应PostgreSQL的DOUBLE PRECISION类型。
- Java的BigDecimal类型,对应PostgreSQL的NUMERIC或DECIMAL类型。这两者都是SQL标准中的定点数类型,用于存储高精度的数值。
- Java的char类型,通常不直接对应PostgreSQL的字符类型,因为Java的char是Unicode字符,而PostgreSQL的CHAR类型是定长ASCII字符。但可以使用Java的String类型来存储单个字符,并对应PostgreSQL的CHAR(1)类型。
- Java的String类型,对应PostgreSQL的VARCHAR、TEXT或CHAR类型。VARCHAR是变长字符串,TEXT用于存储大文本数据,CHAR是定长字符串。
- Java的java.sql.Date类型,对应PostgreSQL的DATE类型,用于存储日期(不包含时间)。
- Java的java.sql.Time类型,对应PostgreSQL的TIME类型(不带时区),用于存储时间(不包含日期)。
- Java的java.sql.Timestamp类型,对应PostgreSQL的TIMESTAMP(可能包含时区信息,但取决于PostgreSQL的配置和Java代码的处理方式)。TIMESTAMP用于存储日期和时间。
- Java 8及以上版本的日期和时间类型:
- java.time.LocalDate,对应PostgreSQL的DATE类型。
- java.time.LocalTime,对应PostgreSQL的TIME(不带时区)类型。
- java.time.LocalDateTime,对应PostgreSQL的TIMESTAMP(不带时区)类型。
- java.time.OffsetDateTime或java.time.ZonedDateTime,可以对应PostgreSQL的TIMESTAMP WITH TIME ZONE类型(但需要注意时区转换和存储方式)。
- Java的byte[]类型,对应PostgreSQL的BYTEA类型,用于存储二进制数据。
- Java的boolean类型,对应PostgreSQL的BOOLEAN类型。在PostgreSQL中,BOOLEAN类型可以存储TRUE、FALSE或NULL值。
- Java的java.util.UUID类型,可以对应PostgreSQL的UUID类型(如果PostgreSQL版本支持)。UUID类型用于存储全局唯一的标识符。
- Java的几何类型,当使用PostGIS扩展时,Java中的几何类型(如JTS库中的Point、Line等)可以通过自定义类型映射或使用特定的库(如Hibernate Spatial)与PostgreSQL中的几何类型(如POINT、LINESTRING等)进行对应。
- JSON类型,Java中的org.json.JSONObject、com.fasterxml.jackson.databind.JsonNode等类型,可以对应PostgreSQL的JSON或JSONB类型(取决于是否需要二进制格式的JSON存储和更高效的查询性能)。