fastunit中使用MapList一个注意例子

下面一个例子如果SQL中使用查询表字段使用别名就会出错。以ORACLE SQL为例。
正确
Java代码

/** 
 * 检查ID是否在例子表中存在 
 * @param db db对象 
 * @param id id 
 * @return 
 */  
private int checkSampleTable(DB db, String id) throws JDBCException {  
    // 查询SQL  
    StringBuffer selectSql = new StringBuffer();  
    selectSql.append("SELECT COUNT(1)")  
             .append("  FROM SAMPLE_TABLE")  
             .append(" WHERE ID = '").append(id).append("'");  
  
    MapList mList = db.query(selectSql.toString());  
      
    return mList.getRow(0).getInt(0, 0);  
}  

错误
Java代码

/** 
 * 检查ID是否在例子表中存在 
 * @param db db对象 
 * @param id id 
 * @return 
 */  
private int checkSampleTable(DB db, String id) throws JDBCException {  
    // 查询SQL  
    StringBuffer selectSql = new StringBuffer();  
    selectSql.append("SELECT COUNT(1) AS COUNTNUM")  
             .append("  FROM SAMPLE_TABLE")  
             .append(" WHERE ID = '").append(id).append("'");  
  
    MapList mList = db.query(selectSql.toString());  
      
    return mList.getRow(0).getInt("COUNTNUM", 0);  
}  

注意以上内容。当给“COUNT(1)”定义别名“COUNTNUM”后,使用“getInt(“COUNTNUM”, 0)”方法不能取到正确的COUNT值。