工作学习笔记(十三)Java与page sql数据类型对应关系

在写代码的时候有好几次因为数据类型对应关系出现报错,翻来覆去的找才知道是java中的数据类型与数据库中的对应不上而导致的。特此写一篇博客来提醒自己。

  • 整数类型:

在PostgreSQL 中的 smallint:占用 2 个字节,有符号范围是-3276832767,无符号范围是 065535。在 Java 中可对应 short 类型来接收和操作相关数据。

integer(等同于 int):占用 4 个字节,有符号范围为 -21474836482147483647,无符号范围是 04294967295,Java 里常用 int 类型与之对应。

bigint:占用 8 个字节,能表示很大范围的整数,Java 中用 long 类型来对应处理对应数据。

  • 浮点类型:

real:单精度浮点数,类似 Java 中的 float 类型,可以用 float 类型承接。

double precision:双精度浮点数,对应 Java 的 double 类型,方便存储和操作精度要求稍高些的带有小数的数值。

numeric 或 decimal:用于精确表示小数,定义时可指定精度和标度,Java 中一般使用 BigDecimal 类来对应,以保障小数运算的精确性,常用于金融相关等对精度要求高的数据存储场景。

  • 字符串类型

char(n):定长字符串,长度固定为 n,不足的部分会用空格填充。在 Java 中可以用 String 类型来处理从数据库取出的数据,比如存储像固定格式的编码之类的数据会用它,例如存身份证号时。

varchar(n):变长字符串,最大长度为 n,只占用实际存储字符串长度 + 额外少量字节(用于记录长度信息)的空间,常用于存储用户名、文章标题等长度不确定的文本内容,Java 里同样用 String 类型来对应操作。

text:用于存储大篇幅的文本内容,像文章正文、长篇评论等,在 Java 中也是用 String 类型去接收。

  • 日期和时间类型

date:用于存储日期,格式类似 'YYYY-MM-DD',在 Java 中对应使用 java.sql.Date 类来获取和操作相关数据,常用于记录日期、创建日期等情况。

timestamp:既包含日期又包含时间,格式为 'YYYY-MM-DD HH:MM:SS',在 Java 中常用 java.sql.Timestamp 类来接收和操作,像订单创建时间、文章发布时间等需要精确到某个时刻的数据常用它来存储。

  • 布尔类型

boolean:PostgreSQL 有原生的布尔类型,用 true 和 false 表示,正好对应 Java 中的 boolean 类型,在 Java 程序与数据库交互时可以直接进行相应的赋值和判断等操作。

posted @ 2024-11-21 00:30  小张不嚣张。  阅读(4)  评论(0编辑  收藏  举报