20170607 JDBC课堂实践 任务四

  • 题目

查询world数据库,查询哪个国家的平均寿命最长。

SELECT Code, Name, LifeExpectancy FROM `country` WHERE LifeExpectancy=(SELECT MAX(LifeExpectancy) FROM country)
  • 代码

1. MessageDAO

import java.sql.*;
import java.util.*; public class MessageDAO {
private String url;
private String user;
private String passwd; public MessageDAO(String url, String user, String passwd) {
this.url = url;
this.user = user;
this.passwd = passwd;
}
public List<Message> get() {
List<Message> messages = null; try(Connection conn = DriverManager.getConnection(url, user, passwd);
Statement statement = conn.createStatement()) {
ResultSet result = statement.executeQuery("SELECT Code, Name, LifeExpectancy FROM `country` WHERE LifeExpectancy=(SELECT MAX(LifeExpectancy) FROM country)");
messages = new ArrayList<>();
while (result.next()) {
Message message = new Message();
message.setCode(result.getString(1));
message.setNationName(result.getString(2));
message.setLifeExpectancy(result.getFloat(3));
messages.add(message);
}
} catch(SQLException ex) {
throw new RuntimeException(ex);
}
return messages;
}
}

2.MessageDAODemo


public class MessageDAODemo {
public static void main(String[] args) throws Exception {
MessageDAO dao = new MessageDAO(
"jdbc:mysql://localhost:3306/world?" +
"useUnicode=true&characterEncoding=UTF8",
"root", "");
//while (true) {
for (Message message : dao.get()) {
System.out.printf("%s\t%s\t%.1f\t%n",
message.getCode(),
message.getNationName(),
message.getLifeExpectancy());
// }
}
}
}

3.Message

import java.io.Serializable;

public class Message implements Serializable {
private Long id;
private String cityName;
private String code;
private String nationName;
private Long population; public Float getLifeExpectancy() {
return LifeExpectancy;
} public void setLifeExpectancy(Float lifeExpectancy) {
LifeExpectancy = lifeExpectancy;
} private Float LifeExpectancy; public String getCode() {
return code;
} public void setCode(String code) {
this.code = code;
} public String getNationName() {
return nationName;
} public void setNationName(String nationName) {
this.nationName = nationName;
} public Long getPopulation() {
return population;
} public void setPopulation(Long population) {
this.population = population;
} public Message() {
} public Message(String cityName) {
this.cityName = cityName;
} public Long getId() {
return id;
} public void setId(Long id) {
this.id = id;
} public String getCityName() {
return cityName;
} public void setCityName(String cityName) {
this.cityName = cityName;
} }
  • 运行截图

  • 数据库截图

20170607 JDBC课堂实践 任务四的更多相关文章

  1. 《Java 程序设计》课堂实践项目-数据库

    <Java 程序设计>课堂实践项目数据库 课后学习总结 目录 数据库实验要求 课堂实践成果 课后思考 由于担心做的不好,找同学询问了数据库的问题,学习了数据库的连通,补写的这篇博客.这是补 ...

  2. 《Java 程序设计》课堂实践项目-简易计算器

    <Java 程序设计>课堂实践项目简易计算器 课后学习总结 目录 改变 简易计算器实验要求 课堂实践成果 课后思考 改变 修改了博客整体布局,过去就贴个代码贴个图很草率,这次布局和内容都有 ...

  3. 20155322 《Java程序设计》课堂实践项目 数据库-3-4

    20155322 <Java程序设计>课堂实践项目 数据库-3-4 数据库-3 实践要求 参考教材代码完成下面的要求,提交能连接到world的截图(有学号水印),并提交代码的码云链接.查询 ...

  4. 2016-2017-2 《Java 程序设计》课堂实践项目

    目录 基本工具 基础内容 Hello World 和 模块分解 数组的使用 命令行参数 递归 分支语句 String类的使用 类的定义与测试 多态 IO与异常 数据库 网络与安全 数据结构应用 And ...

  5. 20172319 2018.10.19《Java程序设计教程》第7周课堂实践(补写博客)

    20172319 2018.10.19 <Java程序设计教程>第7周课堂实践 课程:<程序设计与数据结构> 班级:1723 学生:唐才铭 学号:20172319 指导老师:王 ...

  6. 《Java 程序设计》课堂实践项目 课后学习总结

    <Java 程序设计>课堂实践项目 课后学习总结 String类的使用(sort) 目录 Linux命令(sort) 课堂实践 课后思考 学习老师的代码之后的思考:int与Integer ...

  7. 20155326 第12周课堂实践总结(二)String类和Arrays类的学习

    20155326 第12周课堂实践总结(二)String类和Arrays类的学习 实践二 Arrays和String单元测试 实践题目 在IDEA中以TDD的方式对String类和Arrays类进行学 ...

  8. 《Java程序设计》第15周课堂实践总结

    <Java程序设计>第15周课堂实践总结 实践一 教材代码检查-p242 要求 在IDEA中或命令行中运行P242 StackTraceDemo2.java 代码运行结果和教材一致吗?为什 ...

  9. 《Java程序设计》第12周课堂实践总结

    <Java程序设计>第12周课堂实践总结 实践一 教材代码检查-p98 要求 修改教材P98 Score2.java, 让执行结果数组填充是自己的学号: 提交在IDEA或命令行中运行结查截 ...

随机推荐

  1. Tomcat服务时区设置

    tomcat服务不设置时间,会自动取系统时间,根据项目部署服务器位置不同时间会有差别,统一设置tomcat服务集群时间为东八区时间,具体设置如下: 在tomcat目录的bin文件夹下,找到文件cata ...

  2. Discuz3.3注册程序修改添加记录推荐人账号

    Discuz3.3注册入口地址为:member.php?mod=register 一.member.php: 打开之后,代码非常简单. 其中有一句: $mod = !in_array($discuz- ...

  3. java继承-重写-super实例补充

    方法重写: 是指子类根据需要父类继承来的方法进行改写,是多态机制的前奏. 重写注意点: 1.重写方法必须和被重写方法具有相同的方法名,参数列表和返回值. 2.重写方法方法不能使用比被重写方法更严格的访 ...

  4. Intellij IDEA常用快捷键和一些配置——Mac版

    常用的快捷键 代码补全Ctrl + space 删除行Command + D 注释Command + / 导入包Command + shift + O 格式化代码Command + shift + F ...

  5. 7、Web Service-IDEA-jaxws规范下的 服务端/客户端 开发

    前提简介:这里之后即使基于IDEA进行开发的,风格与之前有些不同之处! 1.服务端的开发 1.创建新的项目 2.pom.xml 添加开发时所需要的依赖 <?xml version="1 ...

  6. MVC5新特性(一)之RouteAttribute打造自己的URL规则

    1.RouteAttribute概述 RouteAttribute的命名空间是System.Web.Mvc,区别与web api的RouteAttribute(它的命名空间是System.Web.Ht ...

  7. TCP连接三次握手协议,释放连接四次挥手,以及使用 awl伪造mac地址进行多线程syn洪泛攻击。

    这个TCP连接就是一次追女生-谈恋爱-分手,追求比分手简单,但是分手比追求复杂.哥,谈了半年的女朋友,在就快要成功了的时候分了,原因是因为有人在后面该老子背后搞SYN洪泛攻击,最后女朋友丢失了.学会T ...

  8. CodeForces - 999D Equalize the Remainders (模拟+set)

    You are given an array consisting of nn integers a1,a2,…,ana1,a2,…,an , and a positive integer mm . ...

  9. Android 4.4系统获取root权限的方法

    1. 准备工作: 准备一台ubuntu机器,将boot.img复制到该机器上,下载必要的工具sudo apt-get install abootimggit clone https://github. ...

  10. C# 参数关键字params的作用

    为了将方法声明为可以接受可变数量参数的方法,我们可以使用params关键字来声明数组,要求: (1)在方法声明中的 params 关键字之后不允许任何其他参数,并且在方法声明中只允许一个 params ...