Хмм. Это немного зависит от того, как вы создаете свой класс Дао. В ORMLite класс Dao представляет собой интерфейс, который означает, что с небольшим количеством проводов вы сможете вводить фиктивный DAO и просто обрабатывать запросы на вызовы через фиктив.
Например, у вас может быть метод setDao
в вашем классе обёрток, например:
public void setDao(Dao<ITask, String> dao) {
this.dao = dao;
}
private Dao<ITask, String> getDao() {
if (dao != null) {
// typical ORMLite pattern
dao = getHelper().getITaskDao();
}
return dao;
}
Тогда ваш getTasksForNextTwoWeeks()
метод будет делать что-то вроде:
public List<ITask> getTasksForNextTwoWeeks() throws SQLException {
QueryBuilder<ITask, String> qb = getDao().getQueryBuilder();
qb.where().gt(...);
return qb.query();
}
Но для получения QueryBuilder
.
требуется немножко насмешки.
Мы расширяем интерфейс ORMLIte Dao
и добавляем методы типа getTasksForNextTwoWeeks()
в класс ITaskDao
.
public interface ITaskDao extends Dao<ITask, String> {
public List<ITask> getTasksForNextTwoWeeks() throws SQLException;
...
}
Затем вы можете легко смоделировать ITaskDao
и обойти все операции с базой данных.
Надеюсь, это поможет.