Java Hour 49 保存和查询历史的Weather
吾一直坚信,是需求的不断变化推动了架构的不断演变。
新的需求
能够查看指定日期的Weather,因为客户想要比较昨天和今天的天气情况,所以需要能够查询历史数据的功能。
1 能保存当前的天气到数据库
2 能查询出当前的天气
3 能查询出昨日的天气
保存天气
这里简化为当初次载入页面的时候,查询是否有当日记录。无则加入。
支线
Java 中 String 和 Date 类型的转换
转换目标为: "2013年11月30日 "
String dataText = "2013年11月30日 "; SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日"); Date date = sdf.parse(dataText); System.out.println(date);
这个成功的有点容易了。
使用Hibernate 注解
1 首先得有一个数据表
CREATE TABLE `weatherinfo` ( `city` varchar(50) NOT NULL, `WEEK` varchar(50) DEFAULT NULL, `SUGGESTION` varchar(2000) DEFAULT NULL, `Date` date DEFAULT NULL, PRIMARY KEY (`city`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2
try { sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory(); } catch (Throwable ex) { throw new ExceptionInInitializerError(ex); }
The method configure() from the type AnnotationConfiguration is deprecated
这里提示方法已不建议使用了。
try { sessionFactory = new Configuration().configure().buildSessionFactory(); } catch (Throwable ex) { throw new ExceptionInInitializerError(ex); }
这里直接使用Configuration()即可。
3 某些列不存在的情况,请补上无视的标记。
@Entity @Table(name = "weatherinfo") public class Weatherinfo { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer id; private String city; private String week; private String suggestion; @Transient private String dateText; @Column(name = "Date") private Date day;
Note
快捷键:Ctrl + Shift + O 自动调整improt
下一章补上Java Date 类型的学习。
顺便mysql 的学习也加上补完计划。
java 的方法名都是小写开头的,将code style 加上补完计划。
用过注解以后,估计再也不怎么想用XML 配置文件的方式了。
Plan List
1 Java 中的日期类型
2 mysql
3 java code style
Java Hour 49 保存和查询历史的Weather的更多相关文章
- Indri查询命令及Java调用并保存结果
查询参数 index Indri索引库路径.在参数文件中像/path/to/repository这样指定,在命令行中像-index=/path/to/repository这样指定.该参数可以设置多次来 ...
- Java操作Mongodb 保存/读取java对象到/从mongodb
从http://central.maven.org/maven2/org/mongodb/mongo-java-driver/选择一个版本进行下载,这里选择的是3.0.0版本,具体下载以下jar包: ...
- Java基础(49):快速排序的Java封装(含原理,完整可运行,结合VisualGo网站更好理解)
快速排序 对冒泡排序的一种改进,若初始记录序列按关键字有序或基本有序,蜕化为冒泡排序.使用的是递归原理,在所有同数量级O(n longn) 的排序方法中,其平均性能最好.就平均时间而言,是目前被认为最 ...
- java中文件保存、打开文件对话框
package com.soft.test; //AWT: FileDialog类 + FilenameFilter类 可以实现本功能 //Swing: JFileChooser类 + FileFil ...
- Java文件输入保存,统计某个字符串,统计所有字符串
import java.io.*; import java.util.*; /** * Created by Admin on 2018/3/20. */ public class FileSaveT ...
- Java中将图片保存到数据库中
在实际的开发中,我们可能需要将图片.影音等文件直接保存到数据库中,然后通过编程方式将数据读出进行使用.例如将读出的图片数据显示出来,将读出的电影文件播放出来. 二进制数据直接保存到文件和从文件中读出非 ...
- Java 将Word保存为WPS和WPT格式
本文通过Java示例展示将Word文档(如.doc/.docx)保存为WPS和WPT格式的方法. 程序环境配置 IntelliJ IDEA 2018(jdk 1.8.0) Word Jar包:Spir ...
- java基础49 IO流技术(对象输入流/对象输出流)
1.对象输入输出流 对象注意作用是用于写对象信息与读取对象信息 1.对象输出流:ObjectOutputStream 2.对象输入流:ObjectInputStream 2.对象输入输出流的步骤 ...
- springmvc java程序文件保存地址的路径问题
会保存为这种斜杠 不论之前填写的是什么样
随机推荐
- 使用migrate.exe执行EF code first 迁移
Code First 迁移可用于从 Visual Studio 内部更新数据库,但也可通过命令行工具 migrate.exe 来执行.本页简单介绍如何使用 migrate.exe 对数据库执行迁移. ...
- LUA的编译、环境等
Lua的环境.编译等 Lua命令行 lua命令行选项: -i:进入交互式 -e:执行lua代码 -l:加载库文件 例如使用下面的命令启动lua解释器,可以重新定义lua提示符. lua -i -e & ...
- Android打电话&发短信
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView ...
- 使用guava带来的方便
guava是在原先google-collection 的基础上发展过来的,是一个比较优秀的外部开源包,最近项目中使用的比较多,列举一些点.刚刚接触就被guava吸引了... 这 ...
- 如何查看ubuntu下显卡驱动是否已经成功安装
首先得安装mesa-utils,在终端输入命令:sudo apt-get install mesa-utils然后再运行命令:glxinfo | grep rendering如果结果是“yes”,证明 ...
- PHP数据访问
<?php //作业:把INFO表查出来用表格显示 //1.造一个连接对象 $db = new MySQLi("localhost","root",&qu ...
- 第16章 使用Squid部署代理缓存服务
章节概述: 本章节从代理缓存服务的工作原理开始讲起,让读者能够清晰理解正向代理(普通模式.透明模式)与反向代理的作用. 正确的使用Squid服务程序部署代理缓存服务可以有效提升访问静态资源的效率,降低 ...
- 使用nginx的proxy_cache做网站缓存
为什么要做web cache,我想大家最主要的是解决流量的压力.随着网站流量的提升,如果只是单台机器既处理静态文件,又处理动态脚本,显然效率很难上升,不能处理日益上涨的流量压力.与此同时某些网站的页面 ...
- Count Numbers with Unique Digits
Given a non-negative integer n, count all numbers with unique digits, x, where 0 ≤ x < 10n. Examp ...
- C++多态公有继承
面向对象的三个基本特征 面向对象的三个基本特征是:封装.继承.多态.其中,封装可以隐藏实现细节,使得代码模块化:继承可以扩展已存在的代码模块(类):它们的目的都是为了——代码重用.而多态则是为了实现另 ...