【JAVA学习记录】用Swing实现天气工具

本文档详细记录了一个使用Java Swing和高德天气API来创建天气查询工具的过程。首先介绍了项目的背景和功能,然后讲解了项目准备,包括数据表设计、API数据获取、添加依赖包。接着,逐步解析了编写代码的各个部分,如实体类、数据库帮助类、DAO类、窗口类的实现,并给出了启动类的说明。
摘要由CSDN通过智能技术生成

 源码已上传:基于 java swing 的高德天气工具

8de0d66413784c60a46ae1674c33cd98.gif

目录

一、简介

二、项目准备

1.数据表

2.天气API数据获取

3.添加包

4.添加数据库驱动

三、编写代码 

1.实体类Weather

2.数据库帮助类

3.DAO类

4.窗口类

5.启动类


 

一、简介

这个工具实现的功能:

  • 通过高德天气API查询天气数据
  • 将查询的数据存入本地数据库
  • 删除数据

二、项目准备

天气API来源:高德开放平台

数据库:Mysql(工具Navicat)

jar包:MySQL数据库JDBC驱动程序 mysql-connector-java-8.0.20.jar、fastjson-1.2.79.jar

1.数据表

1.1 新建数据库

58adfa43e6b6422ab911dbda2b66a6da.png

1.2 数据表结构 

551413464b684dd8a855452284c73708.png

1.3 数据库脚本

CREATE TABLE `NewTable` (
`weatherid`  int NOT NULL AUTO_INCREMENT ,
`city`  varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
`weather`  varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
`temperature`  varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
`winddirection`  varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
`windpower`  varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
`humidity`  varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
`reporttime`  varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
PRIMARY KEY (`weatherid`)
)
ENGINE=InnoDB
DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci
AUTO_INCREMENT=1
ROW_FORMAT=DYNAMIC
;

2.天气API数据获取

获取天气API:天气查询-API文档-开发指南-Web服务 API | 高德地图API

需要申请自己的key:获取key

获取的JSON格式数据:

77b2a205bbb04d59a1ada0df694290fa.png

3.添加包

新建一个工程,在src文件夹下创建如下包:

d8e13e5ca8f646f7bdba1c33341ed99c.png

weather.dao:放置数据持久层组件中的DAO接口。

weather.dao.mysql:放置数据持久层组件中DAO接口具体实现类。还放置了访问MySQL数据库的一些辅助类和配置文件。

weather.domain:放置实体类。

weather.ui:放置表示层组件。

4.添加数据库驱动包和JSON数据处理包

将MySQL数据库JDBC驱动程序 mysql-connector-java-8.0.20.jar 和 fastjson-1.2.79.jar 放到项目根目录下,将jar包添加到项目中。

ddb9d3e126304a4ea026d94e0c3530e5.png

三、编写代码 

1.实体类Weather

package weather.domain;

public class Weather {
    private Integer weatherid;
    private String city; //城市名
    private String weather; //天气现象(汉字描述)
    private String temperature; //实时气温,单位:摄氏度
    private String winddirection; //风向
    private String windpower; //风力级别,单位:级
    private String humid
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值