Android SugarORM(2)

Android Sugar ORM (2)

Android Sugar ORM 实体

1. 创建一个实体类

Sugar ORM在创建一个实体的时候, 仅需要使这个实体类继承于SugarRecord即可

public class Book extends SugarRecord {
  String name;
  String ISBN;
  String title;
  String shortSummary;
}

为了方便创建和访问实体, 我们可以将属性设置为public

public class Book extends SugarRecord {
  public String name;
  public String ISBN;
  public String title;
  public String shortSummary;
  public Book(String name, String ISBN, String title, String shortSummary){
      this.name = name;
      this.ISBN = ISBN;
      this.title = title;
      this.shortSummary = shortSummary;
  }
}

这样就会创建一个Book表, 它分别有name, ISBN, title, 'shortSummary'这四个属性, 当然, 在有的时候, 实体类中的某些属性我们并不需要, 只需要加上@Ignore标签即可, 这样Sugar ORM就会在创建表的时候自动忽略这个属性

public class Book extends SugarRecord {
  @Ignore
  String name;

  String ISBN;
}

2. 管理表之间的关系

事实上其实我更推荐在表之间关系比较简单的时候使用Sugar ORM, 或者是在数据量不是很大的情况下多查几笔...(个人观点)

我们现在引入一个新的实体

public class Author extends SugarRecord {
  String name;
}

我们假设每一本书都有只一个作者, 他们是一对一关系, 我们现在试图表达一下

public class Book extends SugarRecord {
  String name;
  String ISBN;
  String title;
  String shortSummary;

  Author author;
}

3. 基本用法

List<Book> books = Book.find(Book.class, "author = ?", new String{author.getId()});
Book book = Book.findById(Books.class, 1);
Author author = book.author;
posted @   胖纸不争  阅读(371)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示