这个是我自定义的回调。因为有3个sql都需要用。所以判断了下是哪个sql调用。
public static List getSqlListNoPagerEduStorageCount(Class clazz, Dao dao, String sqlStr, Cnd cnd,EduStorageCountType type) {
Sql sql = dao.sqls().create(sqlStr);
if(cnd!=null){
sql.setCondition(cnd);
}
sql.setCallback(new SqlCallback() {
public Object invoke(Connection conn, ResultSet rs, Sql sql) throws SQLException {
List list = new LinkedList();
StorageCollect storageCollect=null;
while (rs.next()){
storageCollect=new StorageCollect();
storageCollect.setSchoolId(rs.getString("schoolId"));
storageCollect.setFoodName(rs.getString("foodName"));
switch (type){
case IN:
storageCollect.setInStorageMoney(rs.getDouble("inStorageMoney"));
storageCollect.setInStorageNumber(rs.getDouble("inStorageNumber"));
break;
case OUT:
storageCollect.setOutStorageMoney(rs.getDouble("outStorageMoney"));
storageCollect.setOutStorageNumber(rs.getDouble("outStorageNumber"));
break;
case OLD:
storageCollect.setEarlyMonthNumber(rs.getDouble("earlyMonthNumber"));
storageCollect.setEarlyMonthMoney(rs.getDouble("earlyMonthMoney"));
break;
}
list.add(storageCollect);
}
return list;
}
});
dao.execute(sql);
List lists = sql.getList(clazz);
return null != lists && lists.size() > 0 ? lists : null;
}
pojo类:
/**
* 食材名称
*/
private String foodName;
/**
* 学校id
*/
private String schoolId;
/**
* 初期库存数量
*/
private Double earlyMonthNumber;
/**
* 初期库存金额
*/
private Double earlyMonthMoney;
/**
* 本月入库数量
*/
private Double inStorageNumber;
/**
* 本月入库金额
*/
private Double inStorageMoney;
/**
* 本月出库数量
*/
private Double outStorageNumber;
/**
* 本月出库金额
*/
private Double outStorageMoney;
/