package com.fgkj.dao.impl; import java.sql.ResultSet; import java.sql.SQLException; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; import com.fgkj.actions.ActionUtil; import com.fgkj.dao.BaseDAO; import com.fgkj.dao.CallBack; import com.fgkj.dao.DAOHelper; import com.fgkj.db.DBUtil; import com.fgkj.dto.Sensor_hisdata; public class Sensor_hisdataImpl implements BaseDAO,CallBack{ @Override public List getResults(ResultSet rs) { // TODO Auto-generated method stub return null; } @Override public boolean add(Object obj) { // TODO Auto-generated method stub return false; } @Override public boolean update(Object obj) { // TODO Auto-generated method stub return false; } @Override public boolean del(Object obj) { // TODO Auto-generated method stub return false; } @Override public List searchAll() { // TODO Auto-generated method stub return null; } //根据设备id查询历史记录 @Override public List serchByCondition(Object obj) { Sensor_hisdata sdata=(Sensor_hisdata) obj; String sql=" select distinct num,sensor_dev_id,record_time,airtmp,airhum,smoke,water,lightintensity" + " ,CO2concentration,COconcentration,CH4concentration,O2concentration,note " + " from db_sensor_history.tb_sensor_hisdata_"+sdata.getSensor_dev_id() + " where sensor_dev_id=? and record_time>=? and record_time<=? " + " order by record_time asc "; List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{sdata.getSensor_dev_id(),sdata.getRecord_time1(),sdata.getRecord_time()}, new CallBack() { @Override public List getResults(ResultSet rs) { List list=new ArrayList(); try { while(rs.next()){ Sensor_hisdata s=new Sensor_hisdata(); s.setNum(rs.getInt("num")); s.setSensor_dev_id(rs.getInt("sensor_dev_id")); s.setRecord_time(rs.getTimestamp("record_time")); s.setAirtmp(rs.getFloat("airtmp")); s.setAirhum(rs.getFloat("airhum")); s.setSmoke(rs.getInt("smoke")); s.setWater(rs.getInt("water")); s.setLightintensity(rs.getInt("lightintensity")); s.setCO2concentration(rs.getInt("cO2concentration")); s.setCOconcentration(rs.getInt("cOconcentration")); s.setCH4concentration(rs.getInt("cH4concentration")); s.setO2concentration(rs.getInt("o2concentration")); s.setNote(rs.getString("note")); list.add(s); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return list; } }); return list; } //实时页面最新的的10笔数据 public List serchByInfo(Object obj) { Sensor_hisdata sdata=(Sensor_hisdata) obj; String sql=" select distinct num,sensor_dev_id,record_time,airtmp,airhum,smoke,water,lightintensity" + " ,CO2concentration,COconcentration,CH4concentration,O2concentration,note " + " from db_sensor_history.tb_sensor_hisdata_"+sdata.getSensor_dev_id() + " where sensor_dev_id=? " + " order by record_time desc limit 0,10"; List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{sdata.getSensor_dev_id()}, new CallBack() { @Override public List getResults(ResultSet rs) { List list=new ArrayList(); try { while(rs.next()){ Sensor_hisdata s=new Sensor_hisdata(); s.setNum(rs.getInt("num")); s.setSensor_dev_id(rs.getInt("sensor_dev_id")); s.setRecord_time(rs.getTimestamp("record_time")); s.setAirtmp(rs.getFloat("airtmp")); s.setAirhum(rs.getFloat("airhum")); s.setSmoke(rs.getInt("smoke")); s.setWater(rs.getInt("water")); s.setLightintensity(rs.getInt("lightintensity")); s.setCO2concentration(rs.getInt("cO2concentration")); s.setCOconcentration(rs.getInt("cOconcentration")); s.setCH4concentration(rs.getInt("cH4concentration")); s.setO2concentration(rs.getInt("o2concentration")); s.setNote(rs.getString("note")); list.add(s); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return list; } }); return list; } public static void main(String[] args) throws ParseException { Sensor_hisdataImpl simpl=new Sensor_hisdataImpl(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date date1 = sdf.parse("2000-01-01"); Date date2 = sdf.parse("2020-01-01"); Sensor_hisdata sdata=new Sensor_hisdata(); sdata.setSensor_dev_id(291200001); sdata.setRecord_time(ActionUtil.getSimpDate(date2)); sdata.setRecord_time1(ActionUtil.getSimpDate(date1)); //List list=simpl.serchByCondition(sdata); List list=simpl.serchByInfo(sdata); System.out.println(list.size()); } }