ORMLite完全解析(三)官方文档第三章、自定义查询构造器 Custom Query Builder

          接着上一篇,下面是第三章的翻译整理,理解错误的地方还请批评指正。

          原文档:http://ormlite.com/javadoc/ormlite-core/doc-files/ormlite_3.html#Statement-Builder

          尊重原创,转载请说明出处,谢谢! http://blog.csdn.net/oyangyujun


 第三章、 自定义查询构造器


3.1  查询构造器基础
      下面是使用查询构造器创建自定义查询语句的基本步骤。首先,以java常量的形式为属性设置列名,便于使用它
们进行查询。
       @DatabaseTable(tableName = "accounts")
      public class Account {
           public static final String PASSWORD_FIELD_NAME = "password";
            …
           @DatabaseField(canBeNull = false, columnName = PASSWORD_FIELD_NAME)
           private String password;
           …

       这样就允许我们使用password属性构建查询,而不需要在后面的查询中重命名属性,及时属性名,和列名一样也
应该这样做。
         // 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);
       如上面的代码,你可以通过Dao.queryBuilder()方法获得一个QueryBuilder对象,然后调用这个对象的方法,调
用queryBuilder.prepare()函数获得一个PrepareQuery对象,然后,将这个PrepareQuery方法传递到DAO的查询或者
遍历方法中。

      简化操作,可以在Where对象中调用prepare()方法,如下所示:
       // query for all accounts that have that password
      List<Account> accountList = accountDao.query(
         accountDao.queryBuilder().where()
         .eq(Account.PASSWORD_FIELD_NAME, "qwerty")
         .prepare());        
      也可以使用另外一种简化方法,通过QueryBuilder或者Where对象调用query()方法或者iterator()方法。如下:
       // query for all accounts that have that password
      List<Account> accountList =
         accountDao.queryBuilder().where()
         .eq(Account.PASSWORD_FIELD_NAME, "qwerty")
         .query();


3.2 构建查询语句
      下面是一些不相同的构建查询语句的方式。QueryBuilder类已经针对特殊使用和强大的用户进行了内部封装。
       QueryBuilder<Account, String> queryBuilder &#
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值