zoukankan      html  css  js  c++  java
  • 毕业设计-1.14

    情况概述:

      今天对WeatherDaoImpl.Java进行了完善,并进行了测试。

    代码如下:

    package com.zlc.dao.impl;
    
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.ArrayList;
    import java.util.List;
    
    import com.mysql.jdbc.Statement;
    /**  
    * @author Zhao Lucang
    * @version 创建时间:2021年2月26日 下午4:07:57  
    * 类说明  
    */
    import com.zlc.dao.IWeatherDao;
    import com.zlc.entity.WeatherBean;
    import com.zlc.entity.WeatherCountBean;
    import com.zlc.util.CommonMethod;
    
    public class WeatherDaoImpl implements IWeatherDao {
        Connection conn = null;
        PreparedStatement ps = null;
    
        // 查询此ID是否存在
        @Override
        public boolean isExist(int ID) {
            // TODO Auto-generated method stub
            return queryWeatherByID(ID) == null ? false : true;
        }
    
        // 根据编号查询天气
        @SuppressWarnings("restriction")
        @Override
        public WeatherBean queryWeatherByID(int ID) {
            WeatherBean weathers = null;
            PreparedStatement ps = null;
            ResultSet rs = null;
            String sql = "SELECT * FROM table_city_degree_2011 WHERE ID=?";
            // System.out.println(sql);
            try {
                Object[] params = { ID };
                rs = CommonMethod.executeQuery(sql, params);
                if (rs.next()) {
                    int id = rs.getInt("ID");
                    String province = rs.getString("Province");
                    String city = rs.getString("City");
                    int date = rs.getInt("Date");
                    String week = rs.getString("Week");
                    int mind = rs.getInt("MinD");
                    int maxd = rs.getInt("MaxD");
                    String weather = rs.getString("Weather");
                    String winddirection = rs.getString("WindDirection");
                    String windforce = rs.getString("WindForce");
                    weathers = new WeatherBean(id, province, city, date, week, mind, maxd, weather, winddirection,
                            windforce);
                }
                return weathers;
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
                return null;
            } finally {
                try {
                    CommonMethod.closeAll(rs, (Statement) ps, CommonMethod.conn);
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    
        // 根据地点,时间查询
        @SuppressWarnings("restriction")
        @Override
        public WeatherBean queryWeatherByCityDate(String City, int Date) {
            WeatherBean weathers = null;
            PreparedStatement ps = null;
            ResultSet rs = null;
            String sub_date = String.valueOf(Date).substring(0, 4);
            String sql = "SELECT * FROM table_city_degree_" + sub_date + " WHERE City=? AND Date=?";
            // System.out.println(sql);
            try {
                Object[] params = { City, Date };
                rs = CommonMethod.executeQuery(sql, params);
                if (rs.next()) {
                    int id = rs.getInt("ID");
                    String province = rs.getString("Province");
                    String city = rs.getString("City");
                    int date = rs.getInt("Date");
                    String week = rs.getString("Week");
                    int mind = rs.getInt("MinD");
                    int maxd = rs.getInt("MaxD");
                    String weather = rs.getString("Weather");
                    String winddirection = rs.getString("WindDirection");
                    String windforce = rs.getString("WindForce");
    
                    weathers = new WeatherBean(id, province, city, date, week, mind, maxd, weather, winddirection,
                            windforce);
                }
                return weathers;
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
                return null;
            } finally {
                try {
                    CommonMethod.closeAll(rs, (Statement) ps, CommonMethod.conn);
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    
        // 根据时间遍历全国
        @SuppressWarnings("restriction")
        @Override
        public List<WeatherBean> queryAllWeathersByDate(int Date) {
            // TODO Auto-generated method stub
            PreparedStatement ps = null;
            ResultSet rs = null;
            String sub_date = String.valueOf(Date).substring(0, 4);
            String sql = "SELECT * FROM table_city_degree_" + sub_date + " WHERE Date=?";
            List<WeatherBean> weathers = new ArrayList<WeatherBean>();
            // System.out.println(sql);
            try {
                Object[] params = { Date };
                rs = CommonMethod.executeQuery(sql, params);
                while (rs.next()) {
                    // 实例化StudentBean
                    WeatherBean weather = new WeatherBean();
                    weather.setID(rs.getInt("ID"));
                    weather.setProvince(rs.getString("Province"));
                    weather.setCity(rs.getString("City"));
                    weather.setDate(rs.getInt("Date"));
                    weather.setWeek(rs.getString("Week"));
                    weather.setMinD(rs.getInt("MinD"));
                    weather.setMaxD(rs.getInt("MaxD"));
                    weather.setWeather(rs.getString("Weather"));
                    weather.setWindDirection(rs.getString("WindDirection"));
                    weather.setWindForce(rs.getString("WindForce"));
                    weathers.add(weather);
                }
                return weathers;
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
                return null;
            } finally {
                try {
                    CommonMethod.closeAll(rs, (Statement) ps, CommonMethod.conn);
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    
        //查询该地区前*天的温度变化
        @SuppressWarnings("restriction")
        @Override
        public List<WeatherBean> queryAllWeathersByCityDate(String City, int Date) {
            // TODO Auto-generated method stub
            PreparedStatement ps = null;
            ResultSet rs = null;
            String sub_date = String.valueOf(Date).substring(0, 4);
            String sql = "SELECT * FROM table_city_degree_" + sub_date + " WHERE City LIKE '%"+City+"%' AND Date>=? LIMIT 365";
            List<WeatherBean> weathers = new ArrayList<WeatherBean>();
            // System.out.println(sql);
            try {
                Object[] params = { Date };
                rs = CommonMethod.executeQuery(sql, params);
                while (rs.next()) {
                    // 实例化StudentBean
                    WeatherBean weather = new WeatherBean();
                    weather.setID(rs.getInt("ID"));
                    weather.setProvince(rs.getString("Province"));
                    weather.setCity(rs.getString("City"));
                    weather.setDate(rs.getInt("Date"));
                    weather.setWeek(rs.getString("Week"));
                    weather.setMinD(rs.getInt("MinD"));
                    weather.setMaxD(rs.getInt("MaxD"));
                    weather.setWeather(rs.getString("Weather"));
                    weather.setWindDirection(rs.getString("WindDirection"));
                    weather.setWindForce(rs.getString("WindForce"));
                    weathers.add(weather);
                }
                return weathers;
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
                return null;
            } finally {
                try {
                    CommonMethod.closeAll(rs, (Statement) ps, CommonMethod.conn);
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    
        //查询该地区本年的天气类型数量
        @Override
        public List<WeatherCountBean> queryAllWeathersByCityDateCount(String City, int MinDate,int MaxDate) {
            // TODO Auto-generated method stub
            PreparedStatement ps = null;
            ResultSet rs = null;
            String sub_date = String.valueOf(MinDate).substring(0, 4);
            String sql = "SELECT Province,City,Weather,count(*) AS DayNum FROM table_city_degree_"+sub_date+" WHERE City Like '%"+City+"%' AND Date BETWEEN ? AND ? GROUP BY City,Weather ORDER BY ID";
            List<WeatherCountBean> weathers = new ArrayList<WeatherCountBean>();
            try {
                Object[] params = { MinDate,MaxDate };
                rs = CommonMethod.executeQuery(sql, params);
                while (rs.next()) {
                    // 实例化StudentBean
                    WeatherCountBean weather = new WeatherCountBean();
                    weather.setProvince(rs.getString("Province"));
                    weather.setCity(rs.getString("City"));
                    weather.setWeather(rs.getString("Weather"));
                    weather.setDayNum(rs.getInt("DayNum"));
                    weathers.add(weather);
                }
                return weathers;
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
                return null;
            } finally {
                try {
                    CommonMethod.closeAll(rs, (Statement) ps, CommonMethod.conn);
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    
        //省份最高/最低平均温度
        @SuppressWarnings("restriction")
        @Override
        public List<WeatherBean> queryAllWeathersByDateHighLow(int Date) {
            // TODO Auto-generated method stub
            PreparedStatement ps = null;
            ResultSet rs = null;
            String sub_date = String.valueOf(Date).substring(0, 4);
            String sql = "SELECT Province,AVG(MaxD) as AvgMaxD,AVG(MinD) as AvgMinD,Date  FROM table_city_degree_" + sub_date + " WHERE Date=? GROUP BY Province ORDER BY ID";
            List<WeatherBean> weathers = new ArrayList<WeatherBean>();
            try {
                Object[] params = { Date };
                rs = CommonMethod.executeQuery(sql, params);
                while (rs.next()) {
                    // 实例化WeatherBean
                    WeatherBean weather = new WeatherBean();
                    weather.setProvince(rs.getString("Province"));
                    weather.setDate(rs.getInt("Date"));
                    weather.setMaxD(rs.getInt("AvgMaxD"));
                    weather.setMinD(rs.getInt("AvgMinD"));
                    weathers.add(weather);
                }
                return weathers;
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
                return null;
            } finally {
                try {
                    CommonMethod.closeAll(rs, (Statement) ps, CommonMethod.conn);
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    
    
        @Override
        public List<WeatherBean> queryAllWeathersByDateMid(int Date) {
            // TODO Auto-generated method stub
            PreparedStatement ps = null;
            ResultSet rs = null;
            String sub_date = String.valueOf(Date).substring(0, 4);
            String sql = "SELECT Province,AVG((MaxD+MinD)/2) as AvgD,Date  FROM table_city_degree_" + sub_date + " WHERE Date=? GROUP BY Province ORDER BY ID";
            List<WeatherBean> weathers = new ArrayList<WeatherBean>();
            try {
                Object[] params = { Date };
                rs = CommonMethod.executeQuery(sql, params);
                while (rs.next()) {
                    // 实例化WeatherBean
                    WeatherBean weather = new WeatherBean();
                    weather.setProvince(rs.getString("Province"));
                    weather.setDate(rs.getInt("Date"));
                    weather.setMinD(rs.getInt("AvgD"));
                    weathers.add(weather);
                }
                return weathers;
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
                return null;
            } finally {
                try {
                    CommonMethod.closeAll(rs, (Statement) ps, CommonMethod.conn);
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    
        @SuppressWarnings("restriction")
        @Override
        public List<WeatherCountBean> queryAllWeathersByCityDateCountWind(String City, int MinDate, int MaxDate) {
            // TODO Auto-generated method stub
            PreparedStatement ps = null;
            ResultSet rs = null;
            String sub_date = String.valueOf(MinDate).substring(0, 4);
            String sql = "SELECT Province,City,WindDirection,count(*) AS DayNum FROM table_city_degree_"+sub_date+" WHERE City Like '%"+City+"%' AND Date BETWEEN ? AND ? GROUP BY City,WindDirection ORDER BY ID";
            List<WeatherCountBean> weathers = new ArrayList<WeatherCountBean>();
            try {
                Object[] params = { MinDate,MaxDate };
                rs = CommonMethod.executeQuery(sql, params);
                while (rs.next()) {
                    // 实例化StudentBean
                    WeatherCountBean weather = new WeatherCountBean();
                    weather.setProvince(rs.getString("Province"));
                    weather.setCity(rs.getString("City"));
                    weather.setDayNum(rs.getInt("DayNum"));
                    weather.setWindDirection(rs.getString("WindDirection"));
                    weathers.add(weather);
                }
                return weathers;
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
                return null;
            } finally {
                try {
                    CommonMethod.closeAll(rs, (Statement) ps, CommonMethod.conn);
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    
        @Override
        public List<WeatherCountBean> queryAllWeathersByCityDateCountForce(String City, int MinDate, int MaxDate,
                String Force) {
            // TODO Auto-generated method stub
            PreparedStatement ps = null;
            ResultSet rs = null;
            String sub_date = String.valueOf(MinDate).substring(0, 4);
            String sql = "SELECT Province,City,WindDirection,WindForce,count(*) AS DayNum FROM table_city_degree_"+sub_date+" WHERE City Like '%"+City+"%' AND WindDirection=? AND Date BETWEEN ? AND ? GROUP BY City,WindDirection,WindForce ORDER BY ID";
            List<WeatherCountBean> weathers = new ArrayList<WeatherCountBean>();
            try {
                Object[] params = { Force,MinDate,MaxDate };
                rs = CommonMethod.executeQuery(sql, params);
                while (rs.next()) {
                    // 实例化StudentBean
                    WeatherCountBean weather = new WeatherCountBean();
                    weather.setProvince(rs.getString("Province"));
                    weather.setCity(rs.getString("City"));
                    weather.setDayNum(rs.getInt("DayNum"));
                    weather.setWindDirection(rs.getString("WindDirection"));
                    weather.setWindForce(rs.getString("WindForce"));
                    weathers.add(weather);
                }
                return weathers;
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
                return null;
            } finally {
                try {
                    CommonMethod.closeAll(rs, (Statement) ps, CommonMethod.conn);
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    
        
        
    }

    Test.java

    package com.zlc.test;   
    import java.util.ArrayList;
    import java.util.List;
    
    import com.zlc.dao.IWeatherDao;
    import com.zlc.dao.impl.WeatherDaoImpl;
    import com.zlc.entity.WeatherCountBean;
    import com.zlc.service.IWeatherService;
    import com.zlc.service.impl.WeatherServiceImpl;
    import com.zlc.util.CommonMethod;
    /**  
    * @author Zhao Lucang
    * @version 创建时间:2021年2月26日 下午4:33:18  
    * 类说明  
    */
    public class Test {
        public static void main(String[] args) {
            CommonMethod common=new CommonMethod();
            IWeatherService service=new WeatherServiceImpl();
            IWeatherDao dao=new WeatherDaoImpl();
    
            //WeatherBean weathers=service.queryWeatherByID(1);
            //WeatherBean weathers=service.queryWeatherByCityDate("北京市",20150506);
            
            //weathers=service.queryAllWeathersByDate(20150506);
            
            /*
             * List<WeatherBean> weathers = new ArrayList<WeatherBean>();
             * weathers=service.queryAllWeathersByCityDate("北京", 20150506); for(WeatherBean
             * w:weathers) {
             * System.out.println(w.getID()+" "+w.getProvince()+" "+w.getCity()+" "+w.
             * getDate()+" "+w.getWeek()+" "+w.getWeather()+" "+w.getMinD()+" "+w.getMaxD()
             * +" "+w.getWindDirection()+" "+w.getWindForce());
             * 
             * }
             */
            
            /*
             * List<WeatherCountBean> weathers = new ArrayList<WeatherCountBean>();
             * weathers=service.queryAllWeathersByCityDateCount("北京", 20150106,20150208);
             * for(WeatherCountBean w:weathers) {
             * System.out.println(w.getProvince()+w.getCity()+w.getWeather()+w.getDayNum());
             * 
             * }
             */
             
              List<WeatherCountBean> weathers = new ArrayList<WeatherCountBean>();
              List<WeatherCountBean> weatherforce = new ArrayList<WeatherCountBean>();
                 weathers=service.queryAllWeathersByCityDateCountWind("北京", 20180106,20181008);
                  for(WeatherCountBean w:weathers) {
                  //System.out.println(w.getProvince()+w.getCity()+w.getWindDirection()+w.getDayNum());
                      weatherforce=service.queryAllWeathersByCityDateCountForce("北京", 20180106, 20181008, w.getWindDirection());
                      for(WeatherCountBean wf:weatherforce) {
                          System.out.println(wf.getProvince()+wf.getCity()+" "+wf.getWindDirection()+" "+wf.getWindForce()+" "+wf.getDayNum());
                          
                      }
                    
                      
                  }
            /*
             * List<WeatherBean> weathers = new ArrayList<WeatherBean>();
             * weathers=service.queryAllWeathersByDateMid(20150105); for(WeatherBean
             * w:weathers) {
             * System.out.println(w.getProvince()+w.getDate()+w.getMaxD()+w.getMinD());
             * 
             * }
             */
            
            //System.out.println(weathers.getID()+" "+weathers.getProvince()+" "+weathers.getCity()+" "+weathers.getDate()+" "+weathers.getWeek()+" "+weathers.getWeather()+" "+weathers.getMinD()+" "+weathers.getMaxD()+" "+weathers.getWindDirection()+" "+weathers.getWindForce());
        }
    }
     

    测试结果:

  • 相关阅读:
    MongoDB 之 手把手教你增删改查 MongoDB
    MongoDB 之 你得知道MongoDB是个什么鬼 MongoDB
    全栈12期的崛起之捡点儿有用的说说
    Python 常用模块
    Python3中的内置函数
    Python程序员之面试必回习题
    Django之初始庐山真面目
    Django之ORM操作
    MySQL-索引
    MySQL-函数
  • 原文地址:https://www.cnblogs.com/zlc364624/p/14461022.html
Copyright © 2011-2022 走看看