ORMLite如果存在查询

时间:2016-01-28 15:40:08

标签: java ormlite query-builder

我需要ORMLite的一些帮助。我从List下载了从List下载的对象。在每件物品上我都有ToggleButton。点击之后,TB项目被添加到我的数据库中,TB stata被检查为"点击"。这一切都发生在我的主要片段中,但是当我切换片段并再次回到主片段时,TB又被设置为" unlicked"。所以,我需要做的是检查何时创建主片段如果listView中的对象存在于数据库中,如果是这样,请检查ToggleButton状态是否被点击(我认为这将是一个正确的选项)但我不知道如何写入查询:/

以下是来自适配器的代码,用于将项目添加到DB:

@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
   if(isChecked) {
       try {
           final Dao<Concert, Integer> concertDao = getHelper().getConcertDao();
           concertDao.create(concertList.get(position));
        } catch (SQLException e) {
           e.printStackTrace();
        }
    }
}

1 个答案:

答案 0 :(得分:6)

很多方法可以实现这一目标。我建议看一下QueryBuilder documentation。你显然可以这样做:

if (concertDao.queryForId(concert.getId()) != null) {
   // the concert exists in the database
}

如果您不想反序列化对象,可以执行以下操作:

if (concertDao.queryBuilder().where().eq("id", concert.getId()).countOf() > 0) {
   // the concert exists in the database
}