package com.huimv.sj.dao; import java.sql.SQLException; import java.util.Date; import java.util.List; import java.util.Map; import org.springframework.orm.ibatis.SqlMapClientCallback; import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport; import org.springframework.util.StringUtils; import com.huimv.busi.tjt.dto.SjFwjlDTO; import com.huimv.busi.xt.constant.XtAppConstant; import com.huimv.busi.xt.constant.XtSqlMapConstant; import com.huimv.busi.xt.utils.DynamicDataSourceHolder; import com.huimv.sj.dataobject.SjFwjl; import com.huimv.sj.dataobject.SjFwjlExample; import com.ibatis.sqlmap.client.SqlMapExecutor; public class SjFwjlDAOImpl extends SqlMapClientDaoSupport implements SjFwjlDAO { /** * This method was generated by Apache iBATIS ibator. * This method corresponds to the database table sj_fwjl * * @ibatorgenerated Thu Jun 19 15:59:45 CST 2014 */ public SjFwjlDAOImpl() { super(); } /** * This method was generated by Apache iBATIS ibator. * This method corresponds to the database table sj_fwjl * * @ibatorgenerated Thu Jun 19 15:59:45 CST 2014 */ public int countByExample(SjFwjlExample example) { DynamicDataSourceHolder.setRouteKey(""); Integer count = (Integer) getSqlMapClientTemplate().queryForObject("sj_fwjl.ibatorgenerated_countByExample", example); DynamicDataSourceHolder.removeRouteKey(); return count; } /** * This method was generated by Apache iBATIS ibator. * This method corresponds to the database table sj_fwjl * * @ibatorgenerated Thu Jun 19 15:59:45 CST 2014 */ public int deleteByExample(SjFwjlExample example) { int rows = getSqlMapClientTemplate().delete("sj_fwjl.ibatorgenerated_deleteByExample", example); return rows; } /** * This method was generated by Apache iBATIS ibator. * This method corresponds to the database table sj_fwjl * * @ibatorgenerated Thu Jun 19 15:59:45 CST 2014 */ public int deleteByPrimaryKey(Integer id) { SjFwjl key = new SjFwjl(); key.setId(id); int rows = getSqlMapClientTemplate().delete("sj_fwjl.ibatorgenerated_deleteByPrimaryKey", key); return rows; } /** * This method was generated by Apache iBATIS ibator. * This method corresponds to the database table sj_fwjl * * @ibatorgenerated Thu Jun 19 15:59:45 CST 2014 */ public void insert(SjFwjl record) { getSqlMapClientTemplate().insert("sj_fwjl.ibatorgenerated_insert", record); } /** * This method was generated by Apache iBATIS ibator. * This method corresponds to the database table sj_fwjl * * @ibatorgenerated Thu Jun 19 15:59:45 CST 2014 */ public void insertSelective(SjFwjl record) { getSqlMapClientTemplate().insert("sj_fwjl.ibatorgenerated_insertSelective", record); } /** * This method was generated by Apache iBATIS ibator. * This method corresponds to the database table sj_fwjl * * @ibatorgenerated Thu Jun 19 15:59:45 CST 2014 */ @SuppressWarnings("unchecked") public List selectByExample(SjFwjlExample example) { DynamicDataSourceHolder.setRouteKey(""); List list = getSqlMapClientTemplate().queryForList("sj_fwjl.ibatorgenerated_selectByExample", example); DynamicDataSourceHolder.removeRouteKey(); return list; } /** * This method was generated by Apache iBATIS ibator. * This method corresponds to the database table sj_fwjl * * @ibatorgenerated Thu Jun 19 15:59:45 CST 2014 */ public SjFwjl selectByPrimaryKey(Integer id) { DynamicDataSourceHolder.setRouteKey(""); SjFwjl key = new SjFwjl(); key.setId(id); SjFwjl record = (SjFwjl) getSqlMapClientTemplate().queryForObject("sj_fwjl.ibatorgenerated_selectByPrimaryKey", key); DynamicDataSourceHolder.removeRouteKey(); return record; } /** * This method was generated by Apache iBATIS ibator. * This method corresponds to the database table sj_fwjl * * @ibatorgenerated Thu Jun 19 15:59:45 CST 2014 */ public int updateByExampleSelective(SjFwjl record, SjFwjlExample example) { UpdateByExampleParms parms = new UpdateByExampleParms(record, example); int rows = getSqlMapClientTemplate().update("sj_fwjl.ibatorgenerated_updateByExampleSelective", parms); return rows; } /** * This method was generated by Apache iBATIS ibator. * This method corresponds to the database table sj_fwjl * * @ibatorgenerated Thu Jun 19 15:59:45 CST 2014 */ public int updateByExample(SjFwjl record, SjFwjlExample example) { UpdateByExampleParms parms = new UpdateByExampleParms(record, example); int rows = getSqlMapClientTemplate().update("sj_fwjl.ibatorgenerated_updateByExample", parms); return rows; } /** * This method was generated by Apache iBATIS ibator. * This method corresponds to the database table sj_fwjl * * @ibatorgenerated Thu Jun 19 15:59:45 CST 2014 */ public int updateByPrimaryKeySelective(SjFwjl record) { int rows = getSqlMapClientTemplate().update("sj_fwjl.ibatorgenerated_updateByPrimaryKeySelective", record); return rows; } /** * This method was generated by Apache iBATIS ibator. * This method corresponds to the database table sj_fwjl * * @ibatorgenerated Thu Jun 19 15:59:45 CST 2014 */ public int updateByPrimaryKey(SjFwjl record) { int rows = getSqlMapClientTemplate().update("sj_fwjl.ibatorgenerated_updateByPrimaryKey", record); return rows; } /** * This class was generated by Apache iBATIS ibator. * This class corresponds to the database table sj_fwjl * * @ibatorgenerated Thu Jun 19 15:59:45 CST 2014 */ private static class UpdateByExampleParms extends SjFwjlExample { private Object record; public UpdateByExampleParms(Object record, SjFwjlExample example) { super(example); this.record = record; } @SuppressWarnings("unused") public Object getRecord() { return record; } } /** * 得到指定条件的访问记录的最大时间 */ public Date selectMaxFwjlTimeByParam(Map searchParam) { Date date = (Date) getSqlMapClientTemplate().queryForObject(XtSqlMapConstant.SQLMAP_SELECT_MAX_WFJL_TIME_BY_PARAM, searchParam); return date; } /** * 插入动物访问记录 */ public void insertFwjlByParam(List> paramMapList) { FwjlSqlMapClientCallback fwjlSqlMapClientCallback = new FwjlSqlMapClientCallback(); fwjlSqlMapClientCallback.setParamMapList(paramMapList); getSqlMapClientTemplate().execute(fwjlSqlMapClientCallback); } /** * 插入数据的回调类 */ private class FwjlSqlMapClientCallback implements SqlMapClientCallback { private List> paramMapList; public void setParamMapList(List> paramMapList) { this.paramMapList = paramMapList; } @Override public Object doInSqlMapClient(SqlMapExecutor executor) throws SQLException { executor.startBatch(); String dqlq = ""; String jqid = ""; for (Map paramMap : paramMapList) { jqid = (String) paramMap.get("jqid"); dqlq = (String) executor.queryForObject(XtSqlMapConstant.SQLMAP_SELECT_DQLQ_FROM_ZSDA_AND_JQDA_BY_JQID, jqid); if (StringUtils.hasText(dqlq)) { paramMap.put("dqlq", dqlq); executor.insert(XtSqlMapConstant.SQLMAP_INSERT_FWJL_BY_PARAM, paramMap); } } executor.executeBatch(); return null; } } @SuppressWarnings("unchecked") public List selectByMap(Map searchParam) { DynamicDataSourceHolder.setRouteKey(""); List list = (List) getSqlMapClientTemplate().queryForList(XtSqlMapConstant.SQLMAP_SELECT_FWJL_BY_PARAM, searchParam); DynamicDataSourceHolder.removeRouteKey(); return list; } @Override public void insertFwjltempByParam(List> paramMapList) { FwjltempSqlMapClientCallback fwjltempSqlMapClientCallback = new FwjltempSqlMapClientCallback(); fwjltempSqlMapClientCallback.setParamMapList(paramMapList); getSqlMapClientTemplate().execute(fwjltempSqlMapClientCallback); } /** * 插入数据的回调类 */ private class FwjltempSqlMapClientCallback implements SqlMapClientCallback { private List> paramMapList; public void setParamMapList(List> paramMapList) { this.paramMapList = paramMapList; } @Override public Object doInSqlMapClient(SqlMapExecutor executor) throws SQLException { executor.startBatch(); String dqlq = ""; String jqid = ""; for (Map paramMap : paramMapList) { jqid = (String) paramMap.get("jqid"); dqlq = (String) executor.queryForObject(XtSqlMapConstant.SQLMAP_SELECT_DQLQ_FROM_ZSDA_AND_JQDA_BY_JQID, jqid); if (StringUtils.hasText(dqlq)) { paramMap.put("dqlq", dqlq); executor.insert(XtSqlMapConstant.SQLMAP_INSERT_FWJLTEMP_BY_PARAM, paramMap); } } executor.executeBatch(); return null; } } /** * 温度按头数统计 */ @SuppressWarnings("unchecked") public List selectWdfbByTs(Map searchParam) { DynamicDataSourceHolder.setRouteKey(""); List list = (List) getSqlMapClientTemplate().queryForList(XtSqlMapConstant.SQLMAP_SELECT_WDFB_BY_TS, searchParam); DynamicDataSourceHolder.removeRouteKey(); return list; } public int countDwebByParam(Map paramMap) { DynamicDataSourceHolder.setRouteKey(""); Integer count = (Integer) getSqlMapClientTemplate().queryForObject(XtSqlMapConstant.SQLMAP_COUNT_FWJL_BY_PARAM, paramMap); DynamicDataSourceHolder.removeRouteKey(); return count; } /** * 温度按时间统计 */ @SuppressWarnings("unchecked") public List selectWdfbBySj(Map searchParam) { DynamicDataSourceHolder.setRouteKey(""); String jsms = searchParam.get("jsms").toString(); List list = (List) getSqlMapClientTemplate().queryForList( jsms.equals(XtAppConstant.RJSMS) ? XtSqlMapConstant.SQLMAP_SELECT_WDFB_BY_SJ_RI : XtSqlMapConstant.SQLMAP_SELECT_WDFB_BY_SJ_QC, searchParam); DynamicDataSourceHolder.removeRouteKey(); return list; } /** * 温度区间 */ @SuppressWarnings("unchecked") public List selectFwjlByWdqj(Map searchParam) { DynamicDataSourceHolder.setRouteKey(""); List list = (List) getSqlMapClientTemplate().queryForList(XtSqlMapConstant.SQLMAP_SELECT_FWJL_BY_WDQJ, searchParam); DynamicDataSourceHolder.removeRouteKey(); return list; } /** * 访问次数 */ @SuppressWarnings("unchecked") public List selectFwcsByDweb(Map searchParam) { DynamicDataSourceHolder.setRouteKey(""); List list = (List) getSqlMapClientTemplate().queryForList(XtSqlMapConstant.SQLMAP_SELECT_FWCS_BY_DWEB, searchParam); DynamicDataSourceHolder.removeRouteKey(); return list; } }