2017-02-13 35 views
0

我使用OrmSqlite数据库,要自动映射的结果GenericRawResults rawResultsOrmSqlite自动地图结果

String querString = "select * from ZADDRISKDETAILS where ZRISK_DEFINED_STATUS='" + status + "' AND ZPROJECTID ='" + projectID + "' AND ZRESPECTIVE_USERID ='" + userID + "' AND ZRISKDATETIME like '" + selectedYear + "%' "; 
    GenericRawResults<String[]> rawResults = mDBHelper.getRecommendationPinDetailsDao().queryRaw(querString); 
    List<String[]> results = rawResults.getResults(); 

    for (int i = 0; i < results.size(); i++) { 
      ListModel model = new ListModel(); 
      model.setDueDate(results.get(i)[2]); 
      model.setRiskCategory(results.get(i)[8]); 
      model.setRiskObservation(results.get(i)[14]); 
      model.setStatus(results.get(i)[11]); 
      model.setPriority(results.get(i)[19]); 
      model.setRiskRecommendation(results.get(i)[21]); 
      model.setIssuedDate(results.get(i)[10]); 
      } 

我希望将这些结果直接映射到地图模型类的obj。 (例如ListModel.class)而不给索引。我认为RawRowMapper这样做,但不知道。

回答

0

使用迪欧映射模型类,

private Dao<News, Integer> newsDao = null; 

public Dao<News, Integer> getNewsDao() { 
    if (null == this.newsDao) { 
     try { 
      this.newsDao = getDao(News.class); 
     } catch (java.sql.SQLException e) { 
      e.printStackTrace(); 
     } 
    } 
    return this.newsDao; 
} 

public List<News> getAllNews() { 
    List<News> news = null; 
    try { 
     news = getHelper().getNewsDao().queryForAll(); 
    } catch (SQLException e) { 
     e.printStackTrace(); 
    } 
    return news; 
} 

它可以帮助你..

+0

您要查询的所有表和映射整个结果提出异议,我知道它的工作原理,但我想可以使用rawResults上面代码中提到的自定义查询。 –