com.j256.ormlite.dao.Dao.queryBuilder()方法的使用及代码示例

x33g5p2x  于2022-01-18 转载在 其他  
字(9.9k)|赞(0)|评价(0)|浏览(260)

本文整理了Java中com.j256.ormlite.dao.Dao.queryBuilder()方法的一些代码示例,展示了Dao.queryBuilder()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Dao.queryBuilder()方法的具体详情如下:
包路径:com.j256.ormlite.dao.Dao
类名称:Dao
方法名:queryBuilder

Dao.queryBuilder介绍

[英]Create and return a new query builder object which allows you to build a custom SELECT statement. You call methods on the builder to construct your statement and then call QueryBuilder#prepare() once you are ready to build. This returns a PreparedQuery object which gets passed to #query(PreparedQuery) or #iterator(PreparedQuery).
[中]创建并返回一个新的查询生成器对象,该对象允许您生成自定义SELECT语句。您可以在生成器上调用方法来构造语句,然后在准备好构建后调用QueryBuilder#prepare()。这将返回一个PreparedQuery对象,该对象被传递给#query(PreparedQuery)或#迭代器(PreparedQuery)。

代码示例

代码示例来源:origin: BaronZ88/MinimalistWeather

  1. /**
  2. * 根据城市查询城市信息
  3. *
  4. * @param cityId 城市ID
  5. * @return city
  6. * @throws SQLException
  7. */
  8. public City queryCityById(String cityId) throws SQLException {
  9. QueryBuilder<City, Integer> queryBuilder = cityDaoOperation.queryBuilder();
  10. queryBuilder.where().eq(City.CITY_ID_FIELD_NAME, cityId);
  11. return queryBuilder.queryForFirst();
  12. }

代码示例来源:origin: magefree/mage

  1. public AuthorizedUser getByName(String userName) {
  2. try {
  3. QueryBuilder<AuthorizedUser, Object> qb = dao.queryBuilder();
  4. qb.where().eq("name", new SelectArg(userName));
  5. List<AuthorizedUser> results = dao.query(qb.prepare());
  6. if (results.size() == 1) {
  7. return results.get(0);
  8. }
  9. return null;
  10. } catch (SQLException ex) {
  11. Logger.getLogger(AuthorizedUserRepository.class).error("Error getting a authorized_user - ", ex);
  12. }
  13. return null;
  14. }

代码示例来源:origin: magefree/mage

  1. public List<CardInfo> getMissingCards(List<String> classNames) {
  2. try {
  3. QueryBuilder<CardInfo, Object> queryBuilder = cardDao.queryBuilder();
  4. queryBuilder.where().not().in("className", classNames);
  5. return cardDao.query(queryBuilder.prepare());
  6. } catch (SQLException ex) {
  7. Logger.getLogger(CardRepository.class).error("Error getting missing cards from DB : " + ex);
  8. }
  9. return Collections.emptyList();
  10. }

代码示例来源:origin: com.j256.ormlite/ormlite-jdbc

  1. @Test
  2. public void testQueryForStringInt() throws Exception {
  3. Dao<Foo, String> fooDao = createTestData();
  4. QueryBuilder<Foo, String> qb = fooDao.queryBuilder();
  5. Where<Foo, String> where = qb.where();
  6. // testing the val column with a integer as a string
  7. where.eq(Foo.VAL_COLUMN_NAME, Integer.toString(foo1.val));
  8. List<Foo> list = fooDao.query(qb.prepare());
  9. assertEquals(1, list.size());
  10. assertEquals(foo1, list.get(0));
  11. }

代码示例来源:origin: j256/ormlite-core

  1. @Test(expected = IllegalArgumentException.class)
  2. public void testRawArgsNoColumnName() throws Exception {
  3. Dao<Foo, String> dao = createDao(Foo.class, true);
  4. dao.queryBuilder().where().raw("id = ?", new SelectArg(7));
  5. }

代码示例来源:origin: magefree/mage

  1. public static boolean isDatabaseObsolete(ConnectionSource connectionSource, String entityName, long version) throws SQLException {
  2. TableUtils.createTableIfNotExists(connectionSource, DatabaseVersion.class);
  3. Dao<DatabaseVersion, Object> dbVersionDao = DaoManager.createDao(connectionSource, DatabaseVersion.class);
  4. QueryBuilder<DatabaseVersion, Object> queryBuilder = dbVersionDao.queryBuilder();
  5. queryBuilder.where().eq("entity", new SelectArg(entityName)).and().eq("version", version);
  6. List<DatabaseVersion> dbVersions = dbVersionDao.query(queryBuilder.prepare());
  7. if (dbVersions.isEmpty()) {
  8. DatabaseVersion dbVersion = new DatabaseVersion();
  9. dbVersion.setEntity(entityName);
  10. dbVersion.setVersion(version);
  11. dbVersionDao.create(dbVersion);
  12. }
  13. return dbVersions.isEmpty();
  14. }

代码示例来源:origin: j256/ormlite-core

  1. @Test
  2. public void testQueryPrepared() throws Exception {
  3. Dao<Foo, Integer> dao = createDao(Foo.class, true);
  4. Foo foo1 = new Foo();
  5. assertEquals(1, dao.create(foo1));
  6. Foo foo2 = new Foo();
  7. assertEquals(1, dao.create(foo2));
  8. Where<Foo, Integer> qb = dao.queryBuilder().where().eq(Foo.ID_COLUMN_NAME, foo2.id);
  9. List<Foo> results = dao.query(qb.prepare());
  10. assertEquals(1, results.size());
  11. assertEquals(foo2.id, results.get(0).id);
  12. }

代码示例来源:origin: magefree/mage

  1. public AuthorizedUser getByEmail(String userName) {
  2. try {
  3. QueryBuilder<AuthorizedUser, Object> qb = dao.queryBuilder();
  4. qb.where().eq("email", new SelectArg(userName));
  5. List<AuthorizedUser> results = dao.query(qb.prepare());
  6. if (results.size() == 1) {
  7. return results.get(0);
  8. }
  9. return null;
  10. } catch (SQLException ex) {
  11. Logger.getLogger(AuthorizedUserRepository.class).error("Error getting a authorized_user - ", ex);
  12. }
  13. return null;
  14. }

代码示例来源:origin: j256/ormlite-core

  1. @Test(expected = IllegalArgumentException.class)
  2. public void testInnerQuerySubQueryPrepared() throws Exception {
  3. Dao<Foo, Integer> fooDao = createDao(Foo.class, true);
  4. fooDao.queryBuilder()
  5. .where()
  6. .in(Foo.ID_COLUMN_NAME,
  7. // this is a problem because prepare() returns a PreparedStmt not a QueryBuilder
  8. fooDao.queryBuilder().selectColumns(Foo.ID_COLUMN_NAME).prepare())
  9. .query();
  10. }

代码示例来源:origin: magefree/mage

  1. public UserStats getUser(String userName) {
  2. try {
  3. QueryBuilder<UserStats, Object> qb = dao.queryBuilder();
  4. qb.limit(1L).where().eq("userName", userName);
  5. List<UserStats> users = dao.query(qb.prepare());
  6. if (!users.isEmpty()) {
  7. return users.get(0);
  8. }
  9. } catch (SQLException ex) {
  10. Logger.getLogger(UserStatsRepository.class).error("Error getting a user from DB - ", ex);
  11. }
  12. return null;
  13. }

代码示例来源:origin: magefree/mage

  1. public static boolean isNewBuildRun(ConnectionSource connectionSource, String entityName, Class clazz) throws SQLException {
  2. // build time checks only for releases, not runtime (e.g. IDE debug)
  3. // that's check uses for cards db cleanup on new version/build
  4. String currentBuild = JarVersion.getBuildTime(clazz);
  5. if (!JarVersion.isBuildTimeOk(currentBuild)) {
  6. return false;
  7. }
  8. TableUtils.createTableIfNotExists(connectionSource, DatabaseBuild.class);
  9. Dao<DatabaseBuild, Object> dbBuildDao = DaoManager.createDao(connectionSource, DatabaseBuild.class);
  10. QueryBuilder<DatabaseBuild, Object> queryBuilder = dbBuildDao.queryBuilder();
  11. queryBuilder.where().eq("entity", new SelectArg(entityName)).and().eq("last_build", currentBuild);
  12. List<DatabaseBuild> dbBuilds = dbBuildDao.query(queryBuilder.prepare());
  13. if (dbBuilds.isEmpty()) {
  14. DatabaseBuild dbBuild = new DatabaseBuild();
  15. dbBuild.setEntity(entityName);
  16. dbBuild.setLastBuild(currentBuild);
  17. dbBuildDao.create(dbBuild);
  18. }
  19. return dbBuilds.isEmpty();
  20. }

代码示例来源:origin: magefree/mage

  1. public List<TableRecord> getAfter(long endTimeMs) {
  2. try {
  3. QueryBuilder<TableRecord, Object> qb = dao.queryBuilder();
  4. qb.where().gt("endTimeMs", endTimeMs);
  5. qb.orderBy("endTimeMs", true);
  6. return dao.query(qb.prepare());
  7. } catch (SQLException ex) {
  8. Logger.getLogger(TableRecordRepository.class).error("Error getting table_records from DB - ", ex);
  9. }
  10. return null;
  11. }

代码示例来源:origin: j256/ormlite-core

  1. @Test
  2. public void testReservedWords() throws Exception {
  3. Dao<Reserved, Integer> dao = createDao(Reserved.class, true);
  4. QueryBuilder<Reserved, Integer> sb = dao.queryBuilder();
  5. sb.where().eq(Reserved.FIELD_NAME_GROUP, "something");
  6. sb.query();
  7. }

代码示例来源:origin: com.j256.ormlite/ormlite-jdbc

  1. @Test
  2. public void testMissingAndArg() throws Exception {
  3. Dao<Foo, String> fooDao = createDao(Foo.class, false);
  4. QueryBuilder<Foo, String> qb = fooDao.queryBuilder();
  5. try {
  6. qb.where().and();
  7. fail("expected exception");
  8. } catch (IllegalStateException e) {
  9. // expected
  10. }
  11. }

代码示例来源:origin: magefree/mage

  1. public List<ExpansionInfo> getSetsFromBlock(String blockName) {
  2. List<ExpansionInfo> sets = new LinkedList<>();
  3. try {
  4. QueryBuilder<ExpansionInfo, Object> qb = expansionDao.queryBuilder();
  5. qb.where().eq("blockName", new SelectArg(blockName));
  6. return expansionDao.query(qb.prepare());
  7. } catch (SQLException ex) {
  8. logger.error(ex);
  9. }
  10. return sets;
  11. }

代码示例来源:origin: magefree/mage

  1. public static void updateVersion(ConnectionSource connectionSource, String entityName, long version) throws SQLException {
  2. TableUtils.createTableIfNotExists(connectionSource, DatabaseVersion.class);
  3. Dao<DatabaseVersion, Object> dbVersionDao = DaoManager.createDao(connectionSource, DatabaseVersion.class);
  4. QueryBuilder<DatabaseVersion, Object> queryBuilder = dbVersionDao.queryBuilder();
  5. queryBuilder.where().eq("entity", new SelectArg(entityName));
  6. List<DatabaseVersion> dbVersions = dbVersionDao.query(queryBuilder.prepare());
  7. if (!dbVersions.isEmpty()) {
  8. DeleteBuilder<DatabaseVersion, Object> deleteBuilder = dbVersionDao.deleteBuilder();
  9. deleteBuilder.where().eq("entity", new SelectArg(entityName));
  10. deleteBuilder.delete();
  11. }
  12. DatabaseVersion databaseVersion = new DatabaseVersion();
  13. databaseVersion.setEntity(entityName);
  14. databaseVersion.setVersion(version);
  15. dbVersionDao.create(databaseVersion);
  16. }

代码示例来源:origin: magefree/mage

  1. public boolean cardExists(String className) {
  2. try {
  3. if (classNames == null) {
  4. QueryBuilder<CardInfo, Object> qb = cardDao.queryBuilder();
  5. qb.distinct().selectColumns("className").where().isNotNull("className");
  6. List<CardInfo> results = cardDao.query(qb.prepare());
  7. classNames = new TreeSet<>();
  8. for (CardInfo card : results) {
  9. classNames.add(card.getClassName());
  10. }
  11. }
  12. return classNames.contains(className);
  13. } catch (SQLException ex) {
  14. }
  15. return false;
  16. }

代码示例来源:origin: com.j256.ormlite/ormlite-jdbc

  1. @Test
  2. public void testExists() throws Exception {
  3. Dao<Foo, String> fooDao = createTestData();
  4. QueryBuilder<Foo, String> innerQb = fooDao.queryBuilder();
  5. innerQb.where().idEq(foo1.id);
  6. QueryBuilder<Foo, String> qb = fooDao.queryBuilder();
  7. qb.where().exists(innerQb);
  8. List<Foo> results = fooDao.query(qb.prepare());
  9. assertEquals(2, results.size());
  10. assertEquals(foo1, results.get(0));
  11. assertEquals(foo2, results.get(1));
  12. }

代码示例来源:origin: com.j256.ormlite/ormlite-jdbc

  1. @Test
  2. public void testNoWhereOperations() throws Exception {
  3. Dao<Foo, String> fooDao = createTestData();
  4. QueryBuilder<Foo, String> qb = fooDao.queryBuilder();
  5. qb.where();
  6. try {
  7. fooDao.query(qb.prepare());
  8. fail("expected exception");
  9. } catch (IllegalStateException e) {
  10. // expected
  11. }
  12. }

代码示例来源:origin: magefree/mage

  1. public List<CardInfo> findCards(String name) {
  2. try {
  3. QueryBuilder<CardInfo, Object> queryBuilder = cardDao.queryBuilder();
  4. queryBuilder.where().eq("name", new SelectArg(name));
  5. return cardDao.query(queryBuilder.prepare());
  6. } catch (SQLException ex) {
  7. }
  8. return Collections.emptyList();
  9. }

相关文章