对于我的工作,我试图说服我的同事使用ORMLite (刚刚找到它),而不是编写我们自己的繁琐且容易出错的DB访问器代码。我有大约两个小时的时间让这东西工作,所以我希望你们能在这里帮我!
因此,我现在正试图理解一个示例应用程序,我找到了这里。据我所知,您需要为每个模型/表创建一个类。在这个例子中,有一个Person.java和一个App.java文件。在这些文件中,您需要手动为每个字段创建所有getter和setter。到目前一切尚好。
在这些文件旁边,我找到了那些折叠式的:
我的问题是:
发布于 2013-09-23 13:39:06
从这个意义上说,什么是存储库?为什么需要它?我在看代码,我真的无法理解它。
你提供的链接很好地描述了它:
存储库层封装所有ORMLite调用,隐藏与所有数据库操作相关的任何异常和代码。
因此,“存储库”提供了特定的业务逻辑方法,然后调用数据访问对象或DAO方法。它是调用数据库的实用工具类。在他们的示例中,他们有deletePerson(...),它执行一系列数据库操作来删除Person及其相关的App条目。
DAO类提供了所有与实体无关的queryById(...)类型的方法。在我看来,存储库类为所讨论的特定应用程序添加了非常特定的功能。
如果您查看ORMLite HelloAndroid示例代码,可以看到它没有存储库类,因此它不是必需的。
此外,我是否也需要自己创建所有这些文件,还是其中一些是自动生成的?
您需要自己创建实体文件和数据库助手。数据库助手是处理您可能已经拥有的onCreate(...)和onUpgrade(...)方法的类。有一个基类OrmLiteSqliteOpenHelper来帮助解决这个问题。
如果我需要自己创建所有这些文件,那么除了不需要SQL的几行之外,使用ORM有什么好处呢?
奥姆斯是个好主意的原因有很多。对我来说,这是关于可扩展性的。当然,它现在是“SQL的两个行”,但是除非您没有增长计划,否则这两个行会变得非常复杂。使用ORM,您可以管理实体,而不必担心数据库。
以下是更多信息:
https://stackoverflow.com/questions/18955301
复制相似问题