- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在学习使用 ORMLite。我有一个特定的用例,我不确定我正在寻找的功能是否存在于 ORMLite 中,或者我是否需要自己编写一些额外的代码。
这是一个基于 ORMLite 文档的示例。该文档使用 Account 对象,我可以执行返回某种 Collection 的各种查询:
// get our query builder from the DAO
QueryBuilder<Account, String> queryBuilder = accountDao.queryBuilder();
// the 'password' field must be equal to "qwerty"
queryBuilder.where().eq(Account.PASSWORD_FIELD_NAME, "qwerty");
// prepare our sql statement
PreparedQuery<Account> preparedQuery = queryBuilder.prepare();
// query for all accounts that have "qwerty" as a password
List<Account> accountList = accountDao.query(preparedQuery);
对于我的情况,我只对帐户中的单个列感兴趣 - 让我们假设它是“密码”列。该文档显示了如何使用 selectColumns(String... columns)
方法仅选择我想要的列。
selectColumns(String... columns)
Add columns to be returned by the SELECT query and set on any resulting objects. If no columns are selected then all columns are returned by default. For classes with id columns, the id column is added to the select list automagically. All fields not selected in the object with be their default values (null, 0, false, etc.).
但是此查询仍将返回 Account 对象的集合,其中几乎所有字段都包含默认值。这显然是自动垃圾收集的好处之一。由于我的密码实际上是字符串并且都可以这样解释,并且我想将此信息传递给其他真正不关心帐户是什么的类,我真正想要的是 Collection<String>
而不是Collection<Account>
。
现在已经不是我第一天编程了,所以我自己有多种方法来解决这个问题。我可以迭代一个帐户集合并从中构建一个新的字符串集合。我目前使用的一个更以 ORMLite 为中心的解决方案是构建一个自定义 RowMapper,它获取原始结果并仅返回数组 [0] 位置中的值。
然而,这让我想知道我是否遗漏了一些东西,因为我可能不是第一个需要简单对象集合而不是复杂对象集合的人,其中除了一个字段之外的所有字段都为空。我想知道 ORMLite 是否提供了一种更简单的方法来做到这一点,但我在研究中没有发现太多。
这样就不会成为“这个答案不算数,再给我一个”游戏,我的问题本质上是ORMLite 的哪些内置功能提供了这种便利?
最佳答案
what I would really like is a Collection instead of a Collection.
因此,大多数查询都是通过 DAO 完成的,返回由 DAO 管理的实体或实体集合。但是,您当然可以使用 raw-queries with ORMLite并返回您想要的任何内容。
所以你应该能够做类似的事情:
GenericRawResults<String> rawResults = orderDao.queryRaw("SELECT qwerty FROM accounts");
for (String result : rawResults) {
System.out.println("Account qwerty field = " + result);
}
rawResults.close();
关于java - 查询单列并返回值的集合而不是复杂的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34862436/
我有一个针对单行中的单个列的mysql查询 "SELECT some_col_name FROM table_name WHERE user=:user" 执行语句$stmt->execute();后
我想创建一个应用程序,以这种格式在核心文本(滑动到下一页)中显示捆绑文本文件: 旁遮普语文本 旁遮普语音译成英语 旁遮普语翻译成英语 但我希望用户能够通过设置选项卡选择显示的语言,我知道该怎么做,即
我已经在 Angular 应用程序中设置了一个 ag-grid。我正在尝试使单列填充网格的整个宽度。 但后来我明白了。
当我在 excel 中打开我的 csv 文件时,它看起来像这样 - header 值 1值2值3值4值5 我想知道这个文件中是否真的有逗号?我知道如果我有多个列,我会看到逗号 最佳答案 您可以通过在文
我目前正在运行如下查询: SELECT a.ID, a.ContactID, a.Code, FROM tableA a JOIN (SELECT ContactID, Code FROM
当我在 excel 中打开我的 csv 文件时,它看起来像这样 - header 值 1值2值3值4值5 我想知道这个文件中是否真的有逗号?我知道如果我有多个列,我会看到逗号 最佳答案 您可以通过在文
我正在使用 codeigniter insert_batch($table, $data);我的列名称为“客户发布的评论”。 当我尝试批量插入数据时。插入查询更改为: INSERT INTO `tab
我有两个问题: 我想知道这是否是对单列 TreeView 进行搜索/过滤的正确方法。我觉得我的很多复制/粘贴可能包含不必要的东西。 QSortFilterProxyModel子类中的所有代码和sear
我有一个应用程序,我想获取多个软件包的 RPM 信息,并以令人愉悦且引人注目的方式对其进行格式化。 *繁荣*。 我的问题是 rpm 想要将数据格式化为两列,这很烦人。 命令 rpm -qi ruby
具有单列表(身份列)的目的是什么?有没有好的用例可用? 这真的是一个好习惯吗? 最佳答案 我认为人们使用它来复制 Oracle 的 SEQUENCE。基本上,他们希望他们在系统中创建的任何实体都有一个
我正在将数据库连接从 mysqli 转移到 PDO。更新时,我陷入了一个查询:在mysql中它是: $quec='designation=10 OR designation=11 OR designa
给定MySQL中的一列字符串(密码)并给定一个值N,我正在寻找一种sql方式来计算每个n-的频率gram(长度为 n 的子串)。 将代码保留在 MySQL 中很重要,因为在我拥有的其他环境中,它会导致
我对 GtkTreeView 有以下问题。 当我尝试附加列表时出现问题。这是我创建的函数: static GtkWidget *setup_list_archive(GtkWidget **wid
我是 JPA/Hibernate 的新手。假设我有这两个表: Employee (Id, Name, DeptId, ..)//DeptId 是外键。 Department (Id, DeptName
我正在调用的 REST API 返回一个数组,格式如下: ["a", "b", "c", "d"] 我的 ui-grid 需要在单列中显示这些数据条目,每行一个。 我有: $scope.items
我正在使用由 passy 创建的 Angular masonry 指令,当第一个元素的宽度几乎达到 100% 时我遇到了问题。在这种情况下,所有元素都合并在一个列中,否则我认为行为没问题。 我创建了一
我想将此嵌套数组转换为单个 pandas 数据框列,我该怎么做?有人可以帮我吗? array([array([ nan, 16.40411828, 23.671878
有一个遗留的 LAMP 应用程序,我正在将其转换为 JVM。 所讨论的问题需要一个包含@250K 记录的评分表。目前,“scoreType”列表示为tinyint,其中1 = 目标,2 = 协助1,3
我正在考虑 MySQL 5.6 InnoDB 表的以下架构。我无法决定使用哪些键: "CREATE TABLE IF NOT EXISTS `context` (" " `text_
我是一名优秀的程序员,十分优秀!