工作学习笔记(十三)Java与page sql数据类型对应关系
在写代码的时候有好几次因为数据类型对应关系出现报错,翻来覆去的找才知道是java中的数据类型与数据库中的对应不上而导致的。特此写一篇博客来提醒自己。
- 整数类型:
在PostgreSQL 中的 smallint:占用 2 个字节,有符号范围是-32768 到 32767,无符号范围是 0 到 65535。在 Java 中可对应 short 类型来接收和操作相关数据。
integer(等同于 int):占用 4 个字节,有符号范围为 -2147483648 到 2147483647,无符号范围是 0 到 4294967295,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 程序与数据库交互时可以直接进行相应的赋值和判断等操作。