ORM框架

转载 2016年05月30日 20:07:23

在开发Android应用时,保存数据有这么几个方式,

一个是本地保存,一个是放在后台(提供API接口),还有一个是放在开放云服务上(如 SyncAdapter 会是一个不错的选择)。

对于第一种方式,即本地数据存储,如嵌入式SQLite,你可以选择直接使用SQL语句、Content Provider 或 ORM(对象关系数据映射)。

对于 Android 应用的开发,主要是使用Java语言,所以适用于Java语言的一些ORM,也能移植于 Android 平台上。

下面是5个可用ORM的总体介绍:

  1. OrmLite

OrmLite 不是 Android 平台专用的ORM框架,它是Java ORM。支持JDBC连接,Spring以及Android平台。语法中广泛使用了注解(Annotation)。

官方网站:http://ormlite.com/sqlite_java_android_orm.shtml

  1. SugarORM

SugarORM 是 Android 平台专用ORM。提供简单易学的APIs。可以很容易的处理1对1和1对多的关系型数据,并通过3个函数save(), delete() 和 find() (或者 findById()) 来简化CRUD基本操作。

要启用SugarORM,需要在你的应用程序 AndroidManifest.xml 配置中添加如下meta-data标签:





然后就可以从SugarORM扩展需要保存的数据类:

public class User extends SugarRecord {
String username;
String password;
int age;
@Ignore
String bio; //this will be ignored by SugarORM

public User() { }

public User(String username, String password,int age){
    this.username = username;
    this.password = password;
    this.age = age;
}

}
要添加一个User,代码如下:

User johndoe = new User(getContext(),”john.doe”,”secret”,19);
johndoe.save(); //stores the new user into the database
官方网站:http://satyan.github.io/sugar/getting-started.html

  1. GreenDAO

当性能很重要时(数据访问频繁),GreenDao是一个很快的解决方案,它能够支持数千条记录的CRUD每秒,和OrmLite相比,GreenDAO要快几乎4.5倍。(准确数据请自行benchmark)。

greenDAO vs OrmLite

GreenDAO小于100KB,所以对于应用程序APK的大小影响很小。

这里有一个教程,演示如何使用Android Studio,在Android应用程序中使用GreenDAO框架。

官方网站:http://greendao-orm.com/

  1. Active Android

Active Record(活动目录)是Yii、Rails等框架中对ORM实现的典型命名方式。Active Android 帮助你以面向对象的方式来操作SQLite。
在你的项目中包含Active Android,你需要在项目的 /libs 目录下添加一个jar文件。可以从Github中获取源代码并使用Maven进行编辑。然后你应该添加这些meta-data到你应用程序的 AndroidManifest.xml 配置中:



然后在你的Activity中调用 ActiveAndroid.initialize() 方法:

public class MyActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ActiveAndroid.initialize(this);

    //rest of the app
}

}
现在,你可以使用Java注解来创建模型类:

@Table(name = “User”)
public class User extends Model {
@Column(name = “username”)
public String username;

@Column(name = "password")
public String password;

public User() {
    super();
}

public User(String username,String password) {
    super();
    this.username = username;
    this.password = password;
}

}
官方网站:http://www.activeandroid.com/

  1. Realm

Realm 是一个将可以使用的Android ORM,基于C++编写,直接运行在你的设备硬件上(不需要被解释),因此运行很快。它同时是开源跨平台的,iOS的代码可以在GitHub找到,你还可以找到Objective-C以及Swift编写的Realm使用实例。

官方网站:http://realm.io/

Spring整合其他ORM框架

  • 2017年11月08日 10:44
  • 339KB
  • 下载

.NET高性能框架Chloe.ORM

  • 2017年09月15日 10:21
  • 7.13MB
  • 下载

打造android ORM框架opendroid(三)——持久化数据

在上一篇博客《打造android ORM框架opendroid(二)——自动创建数据库》中,我们介绍了opendroid是怎么做到自动帮我们创建好数据库并通过反射拼凑出创建数据库的SQL语句,接着上面...

asorm1.0beta android Sqlite3 ORM 框架;

  • 2016年03月29日 15:00
  • 41KB
  • 下载

Android SQLite ORM框架

  • 2015年02月06日 23:55
  • 894KB
  • 下载

Python项目实战:个人博客(2):搭建orm框架

这一部分的代码相对比较复杂,主要用来方便我们进行数据库的操作.需要注意几点:首先’?’这个占位符的作用是什么?我们在传入sql语句时需要动态的替换值,但是一些值不是字符串的类型,所以不能直接用%s来替...

jorm轻量级的orm框架

  • 2014年11月06日 14:20
  • 42KB
  • 下载

net.sz.framework 框架 ORM 消消乐超过亿条数据排行榜分析 天王盖地虎

序言   天王盖地虎,   老婆马上生孩子了,在家待产,老婆喜欢玩消消乐类似的休闲游戏,闲置状态,无聊的分析一下消消乐游戏的一些技术问题; 由于我主要是服务器研发,客户端属于半吊子,所以就分...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ORM框架
举报原因:
原因补充:

(最多只允许输入30个字)