Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – ORMLite – 查询外部字段大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
使用ORMLite for Android,我需要构建一个按订单ID或客户名称返回订单的查询.请虑以下类声明:
@DatabaseTable(tablename = "order")
public class Order {
    @DatabaseField(generatedId = truE)
    private Long id;

    @DatabaseField(foreign = true,canBeNull = false,foreignAutorefresh = true,columnName = "customer_id")
    private Customer customer;

    // default constructor,getters and setters...
}

@DatabaseTable(tablename = "customer")
public class Customer {
    @DatabaseField(generatedId = truE)
    private Long id;

    @DatabaseField
    private String name;

    // default constructor,getters and setters...
}

我正在寻找的原始sql是这样的

SELECT 
    o.* 
FROM
    order o
    JOIN customer c on
        o.customer_id = c.id
WHERE
    (o.id = ?) OR (c.name = ?)

使用ORMLite执行此操作的最佳@L_673_5@是什么?

解决方法@H_419_12@
ORMLite现在支持 simple join queries.

所以你的查询看起来像这样

QueryBuilder<Customer,Integer> customerQb = customerDao.queryBuilder();
SELEctArg nameSELEctArg = new SELEctArg();
// this gives the c.name = ?
customerQb.where().eq("name",nameSELEctArg);
QueryBuilder<Account,Integer> orderQb = orderDao.queryBuilder();
SELEctArg idSELEctArg = new SELEctArg();
// this gives the o.id = ?
orderQb.where().eq("id",idSELEctArg);
orderQb.join(customerQb);
// then you set the args and run the query
nameSELEctArg.SETVALue("jim");
idSELEctArg.SETVALue(1);
List<Order> results = orderQb.join(customerQb).query();

大佬总结

以上是大佬教程为你收集整理的android – ORMLite – 查询外部字段全部内容,希望文章能够帮你解决android – ORMLite – 查询外部字段所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。