Gra*_*ray 16
我正在寻找一种方法来进行需要JOIN的查询.
ORMLite支持简单的JOIN查询.您还可以使用原始查询来完成此任务.
您可以使用它Dao.getRawRowMapper()来查找找到的查询,也可以创建自定义映射器.该文档包含以下示例代码,其中显示了如何将String[]对象映射到您的对象:
GenericRawResults<Foo> rawResults =
  orderDao.queryRaw(
    "select account_id,sum(amount) from orders group by account_id",
    new RawRowMapper<Foo>() {
            public Foo mapRow(String[] columnNames,
              String[] resultColumns) {
                return new Foo(Long.parseLong(resultColumns[0]),
                    Integer.parseInt(resultColumns[1]));
        }
    });
Run Code Online (Sandbox Code Playgroud)
        我找到了一种将结果集自动映射到模型对象的方法.
// return the orders with the sum of their amounts per account
GenericRawResults<Order> rawResults = 
    orderDao.queryRaw(query, orderDao.getRawRowMapper(), param1)
// page through the results
for (Order order : rawResults) {
  System.out.println("Account-id " + order.accountId + " has "
    + order.totalOrders + " total orders");
}
rawResults.close();
Run Code Online (Sandbox Code Playgroud)
关键是Dao使用来自对象的行映射器getRawRowMapper(),它将为您处理映射.我希望这可以帮助任何找到它的人.
我仍然希望能够在内部加入,QueryBuilder但在支持之前,这是我认为的下一个最好的事情.
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           11819 次  |  
        
|   最近记录:  |