package com.ifish.daoImpl; import java.math.BigInteger; import java.util.List; import org.hibernate.transform.Transformers; import org.springframework.stereotype.Repository; import com.ifish.dao.DeviceDao; import com.ifish.entity.Device; import com.ifish.entity.UpgradeNotes; import com.ifish.hibernate.HibernateBaseDao; /** * @ClassName: DeviceDaoImpl * @Description: TODO * @author ggw * */ @Repository("deviceDao") public class DeviceDaoImpl extends HibernateBaseDao implements DeviceDao { @Override protected Class getEntityClass() { return Device.class; } @Override public int OnUpgrade(UpgradeNotes upgradeNotes) { Integer upgradeVersion = upgradeNotes.getUpgradeVersion(); Integer sdkVersion = upgradeNotes.getSdkVersion(); sdkVersion = sdkVersion==null?-1:sdkVersion; String factoryCode = upgradeNotes.getFactoryList().getFactoryCode(); String brandCode = upgradeNotes.getVenderList().getBrandCode(); String hardwareType = upgradeNotes.getHardwareType().getHardwareType(); String sql = "update tbl_device SET is_upgrade=1,upgrade_version=? where IF(? != '', factory_code=?, true) and IF(? != '', brand_code=?, true) and IF(? != '', hardware_type=?, true) and IF(? != -1, sdk_version=?, true)"; int number = this.getSession().createSQLQuery(sql) .setInteger(0, upgradeVersion) .setString(1, factoryCode) .setString(2, factoryCode) .setString(3, brandCode) .setString(4, brandCode) .setString(5, hardwareType) .setString(6, hardwareType) .setInteger(7, sdkVersion) .setInteger(8, sdkVersion) .executeUpdate(); return number; } @Override public List getReportDataByGroup(String sql,Class claz) { return this.getSession().createSQLQuery(sql).setResultTransformer(Transformers.aliasToBean(claz)).list(); } @Override public int getNumber(String sql) { return ((BigInteger) this.getSession().createSQLQuery(sql).uniqueResult()).intValue(); } @Override public int executeSql(String sql) { return this.getSession().createSQLQuery(sql).executeUpdate(); } }