Android中ORM数据库轻量级框架---ActiveAndroid
2015-08-06 06:55
489 查看
ORM框架实现的原理其实也很简单,就是利用Java的反射机制把对象和数据库记录映射关联起来。比如存储的时候,是把对象的属性取出来作为记录的属性值进行插入;而查询的时候则是把查询条件自动构建成一条Sql语句,把查询到的结果集转成对象列表。J2EE有ibatis,Hibernate框架,我们Android也有GreenDAO,ormlite,xUtils,AFinal等。它们的实现原理都一样,不同的也只是细节方面的处理。如果兴趣的同学,推荐阅读下ActiveAndroid的源码。Reading
the fucking code!
以前写过介绍xUtils的系列文章,其中的FinalDb模块就是一个ORM框架,也是我工作中常用的。今天我们介绍的ActiveAndroid的API也是相当的简单友好,而且功能一样的强大。ActiveAndroid简洁的API给人一种用起来很舒服的感觉,今天主要是介绍下关于CRUD的简单使用。
一、初始化
有两种方式,一种是配置AndroidManifest的application的name属性,同时在meta-data标签中可选的配置db的name和version;二是在自己的Application类中继承ActiveAndroid的Application;前两种方式入侵性太强,还有一种只需在自定义的Application中静态的注入两个方法即可。
二、定义实体类
实体类需继承Model,可自定义表名和属性对应的字段名
三、插入
可以实现单条数据插入,也可以批量插入,同时也支持事务。
四、删除
支持基于引用的单条记录删除,也支持根据条件进行批量删除。
五、更新
自Model中继承来的save方法,不仅可以进行insert、还可以update;同时也能基于条件进行批量的更新。
六、查询
ActiveAndroid的查询API基本与sql语句的关键字一致,比较友好。这点和xUtils是一样的
写在最后:ORM框架使用起来确实是很方便的,给我们编码提高了效率,但是也有着致命弊端。前面我们也介绍了ORM的实现的原理是Java的反射机制,反射有个缺点,就是会造成效率不高、耗时较长的现象。当有数据批量操作的时候,会把耗时加长好几倍。所以当遇到业务中有很多的记录要处理的时候,就不推荐大家使用框架了,还是老老实实的写比较靠谱。今天干货分享到此为止,希望可以帮助到大家。
参考视频:
http://www.jikexueyuan.com/course/1466.html
相关文章推荐
- Android将Activity打成jar包供第三方调用(解决资源文件不能打包的问题)
- Android 应用开发相关下载资源(2015/05/06更新)
- Android性能优化典范
- Android多种方式实现自定义Dialog对话框
- Android Studio如何导入SlidingMenu超详细版
- Android 读取sd卡图片并显示
- Android笔记 (二) Android的核心---Activity
- android JNI基础
- Android之应用首次使用的欢迎界面实例
- Android 自定义ImageView实现src属性的选择器效果
- Android复习笔记(12)- listView的使用
- Android下创建一个SQLite数据库
- Android自定义Toast总结(上)
- 移动平台前端开发总结(针对iphone,Android等手机)
- android线程
- Android中<uses-sdk>属性和target属性分析
- Android Api Demos登顶之路(二十二)SetWallpaper
- android 项目地址总结
- Android MotionEvent中getX()和getRawX()的区别
- Android环境搭建的步骤