/** * Shorthand for {@link QueryBuilder#buildCount() buildCount()}.{@link CountQuery#count() count()}; see * {@link CountQuery#count()} for details. To execute a query more than once, you should build the query and keep * the {@link CountQuery} object for efficiency reasons. */ public long count() { return buildCount().count(); }
@Override public void run() { QueryBuilder<TestEntity> builder = dao.queryBuilder(); builder.where(Properties.SimpleInteger.eq(getSimpleInteger(1))); queryFromOtherThread = builder.buildCount(); } };
public void testGetForCurrentThread_SameInstance() { CountQuery<TestEntity> query = dao.queryBuilder().buildCount(); assertSame(query, query.forCurrentThread()); }
public void testBuildQueryAndCountQuery() { insert(3); int value = getSimpleInteger(1); QueryBuilder<TestEntity> builder = dao.queryBuilder().where(Properties.SimpleInteger.eq(value)); Query<TestEntity> query = builder.build(); CountQuery<TestEntity> countQuery = builder.buildCount(); assertEquals(1, query.list().size()); assertEquals(1, countQuery.count()); }
public void testCountQuerySimple() { int value = getSimpleInteger(1); CountQuery<TestEntity> query = dao.queryBuilder().where(Properties.SimpleInteger.eq(value)).buildCount(); assertEquals(0, query.count()); ArrayList<TestEntity> inserted = insert(3); assertEquals(1, query.count()); inserted.get(2).setSimpleInteger(value); dao.update(inserted.get(2)); assertEquals(2, query.count()); dao.deleteAll(); assertEquals(0, query.count()); }
public void testCountQueryTwoParametersOr() { int value = getSimpleInteger(1); String valueString = getSimpleString(2); QueryBuilder<TestEntity> queryBuilder = dao.queryBuilder(); queryBuilder.whereOr(Properties.SimpleInteger.eq(value), Properties.SimpleString.eq(valueString)); CountQuery<TestEntity> query = queryBuilder.buildCount(); assertEquals(0, query.count()); ArrayList<TestEntity> inserted = insert(3); assertEquals(2, query.count()); inserted.get(1).setSimpleInteger(getSimpleInteger(2)); dao.update(inserted.get(1)); assertEquals(1, query.count()); inserted.get(2).setSimpleString(getSimpleString(3)); dao.update(inserted.get(2)); assertEquals(0, query.count()); }
public void testCountQueryTwoParameters() { int value = getSimpleInteger(1); String valueString = getSimpleString(1); QueryBuilder<TestEntity> queryBuilder = dao.queryBuilder(); queryBuilder.where(Properties.SimpleInteger.eq(value), Properties.SimpleString.eq(valueString)); CountQuery<TestEntity> query = queryBuilder.buildCount(); assertEquals(0, query.count()); ArrayList<TestEntity> inserted = insert(3); assertEquals(1, query.count()); inserted.get(2).setSimpleInteger(value); dao.update(inserted.get(2)); assertEquals(1, query.count()); inserted.get(2).setSimpleString(valueString); dao.update(inserted.get(2)); assertEquals(2, query.count()); dao.deleteAll(); assertEquals(0, query.count()); }
public void testGetForCurrentThread_ParametersAreReset() { insert(3); int value = getSimpleInteger(1); CountQuery<TestEntity> query = dao.queryBuilder().where(Properties.SimpleInteger.eq(value)).buildCount(); query.setParameter(0, value + 100); assertEquals(0, query.count()); query = query.forCurrentThread(); assertEquals(1, query.count()); }
public void testCountQueryChangeParameter() { insert(3); String value = "not existing value"; CountQuery<TestEntity> query = dao.queryBuilder().where(Properties.SimpleString.eq(value)).buildCount(); assertEquals(0, query.count()); query.setParameter(0, getSimpleString(1)); assertEquals(1, query.count()); query.setParameter(0, getSimpleString(2)); assertEquals(1, query.count()); query.setParameter(0, "you won't find me either"); assertEquals(0, query.count()); }
public void testWhereWithSpecialNames() { QueryBuilder<SpecialNamesEntity> queryBuilder = dao.queryBuilder(); queryBuilder.where(Properties.Avg.isNotNull()); queryBuilder.where(Properties.Count.isNotNull()); queryBuilder.where(Properties.Distinct.isNotNull()); queryBuilder.where(Properties.Index.isNotNull()); queryBuilder.where(Properties.Join.isNotNull()); queryBuilder.where(Properties.On.isNotNull()); queryBuilder.where(Properties.Select.isNotNull()); queryBuilder.where(Properties.Sum.isNotNull()); queryBuilder.where(Properties.Order.isNotNull()); queryBuilder.list(); queryBuilder.buildCount().count(); queryBuilder.buildDelete().executeDeleteWithoutDetachingEntities(); }
public void testWhereWithSpecialNamesWithValues() { QueryBuilder<SpecialNamesEntity> queryBuilder = dao.queryBuilder(); queryBuilder.where(Properties.Avg.eq("test")); queryBuilder.where(Properties.Count.notIn("test", "test2")); queryBuilder.where(Properties.Distinct.ge("test")); queryBuilder.where(Properties.Index.le("test")); queryBuilder.where(Properties.Join.like("test")); queryBuilder.where(Properties.On.notEq("test")); queryBuilder.where(Properties.Select.in("test", "test2")); queryBuilder.where(Properties.Sum.lt(1)); queryBuilder.where(Properties.Order.gt(1)); queryBuilder.list(); queryBuilder.buildCount().count(); queryBuilder.buildDelete().executeDeleteWithoutDetachingEntities(); }
/** * Shorthand for {@link QueryBuilder#buildCount() buildCount()}.{@link CountQuery#count() count()}; see * {@link CountQuery#count()} for details. To execute a query more than once, you should build the query and keep * the {@link CountQuery} object for efficiency reasons. */ public long count() { return buildCount().count(); }
public static boolean isContain(String ID) { QueryBuilder<FileInfo> qb = BaseApplication.getDaoInstant().getFileInfoDao().queryBuilder(); qb.where(FileInfoDao.Properties.FileName.eq(ID)); qb.buildCount().count(); return qb.buildCount().count() > 0 ? true : false; } }
public static int getNewsChannelSelectSize() { return (int) App.getNewsChannelTableDao().queryBuilder() .where(NewsChannelTableDao.Properties.NewsChannelSelect.eq(true)) .buildCount().count(); } }