Java类型与MySQL、SQL Server、Oracle、DB2、MongDB、PostgreSQL数据库类型之间存在一一对应关系

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存储和更高效的查询性能)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值