前言
天气数据在农业、交通、能源等领域应用广泛,将其高效存储是常见需求。将百度天气数据存储至 PostgreSQL 数据库,涉及数据的获取、解析、转换以及最终的存储等多个环节。通过 MybatisPlus 框架来实现这一目标,不仅可以充分利用其强大的 ORM 能力,将天气数据的实体类与数据库表结构进行高效映射,还能借助其提供的便捷操作接口,轻松完成数据的增删改查等操作。
一、PG 数据库设计与实现
PostgreSQL 作为一种功能强大的开源关系型数据库管理系统,以其出色的性能、高度的可扩展性以及对复杂数据类型的良好支持,受到越来越多开发者的青睐。本节首先将以存储百度天气数据为背景,介绍如何进行数据库的物理表设计。
1、PG 数据库模型设计
在实际应用系统查询过程中,除了定义 JavaBean,也需要定义用来保存天气数据的数据库模型。根据接口文档,我们可以按照业务维度设计以下数据库模型,分别用来存储天气接口返回的数据:

2、存储天气物理表结构
这里将根据上面的物理模型创建相应的天气信息表,这里将分别给出这五张表的物理结构语句。
存储实时天气信息:
create table biz_weather_now (
pk_id INT8 not null,
location_code VARCHAR(6) not null default '',
temp DECIMAL(8,2) not null default 999999,
feels_like DECIMAL(8,2) not null default 999999,
rh DECIMAL(8,2) not null default 999999,
wind_class VARCHAR(10) null,
wind_dir VARCHAR(10) null,
text VARCHAR(50) null,
prec_1h (,) ,
clouds (,) ,
vis (,) ,
aqi (,) ,
pm25 (,) ,
pm10 (,) ,
no2 (,) ,
so2 (,) ,
o3 (,) ,
co (,) ,
uptime ,
PK_BIZ_WEATHER_NOW (pk_id)
);
comment biz_weather_now ;
comment biz_weather_now.pk_id ;
comment biz_weather_now.location_code ;
comment biz_weather_now.temp ;
comment biz_weather_now.feels_like ;
comment biz_weather_now.rh ;
comment biz_weather_now.wind_class ;
comment biz_weather_now.wind_dir ;
comment biz_weather_now.text ;
comment biz_weather_now.prec_1h ;
comment biz_weather_now.clouds ;
comment biz_weather_now.vis ;
comment biz_weather_now.aqi ;
comment biz_weather_now.pm25 ;
comment biz_weather_now.pm10 ;
comment biz_weather_now.no2 ;
comment biz_weather_now.so2 ;
comment biz_weather_now.o3 ;
comment biz_weather_now.co ;
comment biz_weather_now.uptime ;







