吾一直坚信,是需求的不断变化推动了架构的不断演变。

新的需求

能够查看指定日期的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的更多相关文章

  1. Indri查询命令及Java调用并保存结果

    查询参数 index Indri索引库路径.在参数文件中像/path/to/repository这样指定,在命令行中像-index=/path/to/repository这样指定.该参数可以设置多次来 ...

  2. Java操作Mongodb 保存/读取java对象到/从mongodb

    从http://central.maven.org/maven2/org/mongodb/mongo-java-driver/选择一个版本进行下载,这里选择的是3.0.0版本,具体下载以下jar包: ...

  3. Java基础(49):快速排序的Java封装(含原理,完整可运行,结合VisualGo网站更好理解)

    快速排序 对冒泡排序的一种改进,若初始记录序列按关键字有序或基本有序,蜕化为冒泡排序.使用的是递归原理,在所有同数量级O(n longn) 的排序方法中,其平均性能最好.就平均时间而言,是目前被认为最 ...

  4. java中文件保存、打开文件对话框

    package com.soft.test; //AWT: FileDialog类 + FilenameFilter类 可以实现本功能 //Swing: JFileChooser类 + FileFil ...

  5. Java文件输入保存,统计某个字符串,统计所有字符串

    import java.io.*; import java.util.*; /** * Created by Admin on 2018/3/20. */ public class FileSaveT ...

  6. Java中将图片保存到数据库中

    在实际的开发中,我们可能需要将图片.影音等文件直接保存到数据库中,然后通过编程方式将数据读出进行使用.例如将读出的图片数据显示出来,将读出的电影文件播放出来. 二进制数据直接保存到文件和从文件中读出非 ...

  7. Java 将Word保存为WPS和WPT格式

    本文通过Java示例展示将Word文档(如.doc/.docx)保存为WPS和WPT格式的方法. 程序环境配置 IntelliJ IDEA 2018(jdk 1.8.0) Word Jar包:Spir ...

  8. java基础49 IO流技术(对象输入流/对象输出流)

    1.对象输入输出流 对象注意作用是用于写对象信息与读取对象信息 1.对象输出流:ObjectOutputStream    2.对象输入流:ObjectInputStream 2.对象输入输出流的步骤 ...

  9. springmvc java程序文件保存地址的路径问题

    会保存为这种斜杠 不论之前填写的是什么样

随机推荐

  1. dedecms首页调用栏目内容和单页内容的方法

    常用的需要调到首页来的单页内容,比如企业简介.联系我们等等内容,我们在首页可能都要进行体现.通过常规的方式,包括查阅dede官方论坛资料,都找不到比较合适的答案.今天我们就提供两种方式进行调用. 我们 ...

  2. linux 运行级别与chkconfig

    一.Linux的运行级别 在装MySQL的时候,才知道了Linux的运行级别这么一回事.汗…自己太水了…下面总结一下: 什么是运行级别呢?简单点来说,运行级别就是操作系统当前正在运行的功能级别.级别是 ...

  3. Android Studio 的安装和配置篇(Windows篇)

    上一篇介绍完了Android Studio,这一篇就专门来讲讲怎么安装配置的吧. 其实好多人都卡到安装配置这一步,想当初我也是,万恶的XX防火墙,导致下载Android Studio 的gradle异 ...

  4. iOS-UIView category

    UIView+Extension.h #import <UIKit/UIKit.h> @interface UIView (Extension) @property (nonatomic, ...

  5. DOS中如何删除文件夹

    可以使用rd命令.如果目录是空的,那么可以用 rd 目录删除目录.如下图:输入Y之后系统就会删除整个目录. 如果目录是非空,那么使用rd 目录 /s来删除目录(目录下的文件也会删除一同).如果没有加/ ...

  6. 繁华模拟赛 Vincent的城堡

    #include<iostream> #include<cstdio> #include<string> #include<cstring> #incl ...

  7. 如何用sql批量删除一个id段内的dedecms文章?

    之前因为ytkah批量添加了dedecms文章,数量有些多,后面出现问题了,想要删除一部分织梦文章,后台一篇篇删,删到手软(相关内容:修改dedecms关键词到手软),于是就想到了sql数据库操作!那 ...

  8. HDU 3998 Sequence(经典问题,最长上升子序列)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3998 解题报告:求一个数列的最长上升子序列,并求像这样长的不相交的子序列最多有多少个. 我用的是最简单 ...

  9. 用Lucene检索数据库

    http://blog.sina.com.cn/s/blog_82ac67c101012r9z.html package com.javabean; import java.io.File;impor ...

  10. 他们在军训,我在搞OI(三)

    昨天忘记写了,因为急着去看 51nod 比赛,然而思考了许久还是一道都不会,好菜啊T_T... 补一下 Day 3 的情况. Day 3 上午还是常规地做 vjudge 上的套题,硬着头皮啃英文,感觉 ...