在android 中,内置了sqlite数据库,java web 中,用惯了Hibernate ,想找找android中是否也有类似的orm框架,后来在开源中国看到了orman,这是一个很不错的框架。

这个可以帮我们快捷方便的实现数据库的CURD操作。下面以Users这个用户类为例,和大家分享一下我的心得。

大家先在工程中导入orman的jar包。

这是我写的users类

package xidian.wq.entity;import java.io.Serializable;import org.orman.mapper.Model;
import org.orman.mapper.ModelQuery;
import org.orman.mapper.annotation.Column;
import org.orman.mapper.annotation.Entity;
import org.orman.mapper.annotation.PrimaryKey;
import org.orman.sql.C;/*** 用户类* @author WWF* @date 2012-12-16 下午1:22:37*/
@SuppressWarnings("serial")
@Entity(table="users")
public class Users extends Model<Users>implements Serializable{@PrimaryKey//自增的话,@PrimaryKey(autoIncrement=true)@Column(name="user_id",type="int")//映射的字段名和类型,类型可以省略不写public int userId;@Column(name = "user_name",type="text")public String userName;@Column(name="user_password",type="text")public String userPassword;@Column(name="login_time",type="text")public String loginTime;@Overridepublic void update() {Model.execute(ModelQuery.update().from(Users.class).set(Users.class, "user_name", userName).set(Users.class, "user_password",userPassword).set(Users.class, "login_time", loginTime).where(C.eq("user_id", userId)).getQuery());}}

因为orman对于持久化的支持不咋符合我们的操作习惯,所以我个人比较喜欢重写其update方法,就几行代码。android中,字段尽量少,存储重要的数据。所以这个工程量较少。然后在应用启动时,要注册这个users类,在启动的Application中注册,

代码如下

Database db = new SQLiteAndroid(this, AppConfig.DATABASE_PATH+AppConfig.DATABASE_FILENAME);MappingSession.registerDatabase(db);//注册实体类MappingSession.registerEntity(Users.class);MappingSession.registerEntity(Channel.class);MappingSession.registerEntity(RSSItem.class);MappingSession.registerEntity(ChannelGroup.class);MappingSession.start();

然后在任何的Activity 中就可以使用了,

Users user = new Users();
//插入
user.insert();
//删除
user.delete();
//更新
user.update();
//查询
user = Model.fetchSingle(ModelQuery.select().from(Users.class).
where(C.eq("user_id", id)).getQuery(), Users.class);
//查询更多
List<Users> users = Model.fetchQuery(ModelQuery.select().from(Users.class).where(
C.like("user_name", "%2%")).getQuery(), Users.class);

转载于:https://www.cnblogs.com/Codenewbie/archive/2013/03/21/2973248.html

Android 中的ORM框架相关推荐

  1. 每天学习一个Android中的常用框架——0.目录

    文章目录 1.前言 2.环境 3.目录 3.1 持久化 3.1.1 Litepal 3.1.2 GreenDao 3.1.3 Realm 3.1.4 DBFlow 3.2 网络传输 3.2.1 OkH ...

  2. Android 进阶 教你打造 Android 中的 IOC 框架 【ViewInject】 (下)

    上一篇博客我们已经带大家简单的吹了一下IoC,实现了Activity中View的布局以及控件的注入,如果你不了解,请参考:Android 进阶 教你打造 Android 中的 IOC 框架 [View ...

  3. Web框架中的ORM框架

    Web框架中的ORM框架 在 Python 实现的 Web 框架中,通过 API 接口来访问后端的视图函数,视图函数对数据库中的数据进行处理然后返回给前端.在这个过程中,视图函数不是直接通过 SQL ...

  4. android中使用tmf框架插件化开发的问题

    android中使用tmf框架插件化开发的问题 最近项目开发使用的是tmf框架,其中大多数都是通过源生和H5交互的方式来实现的,大体实现和别的三方框架是一样的,需要按照tmf的官方文档引入一些lib和 ...

  5. android的orm框架有哪些,Android 常用的ORM框架详解

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

  6. Android中的hook框架:epic简介

    epic是Android中的一个开源的hook框架,目前最新版本是:0.11.2,项目地址:https://github.com/tiann/epic. epic框架的优点有: 1.可以hook普通方 ...

  7. 教你打造 Android 中的 IOC 框架

    1.概述 首先我们来吹吹牛,什么叫IoC,控制反转(Inversion of Control,英文缩写为IoC),什么意思呢? 就是你一个类里面需要用到很多个成员变量,传统的写法,你要用这些成员变量, ...

  8. Android 数据库制作APP,在Android 中使用Anko框架制作一个完整的App,第二集

    作者:feintkotlin(Kotlin学习网) 说明:这次更新对一些小的细节进行了改进,并增加了SQLite的操作.该应用支持6.0及以上android系统 更新:当有网络时,将前5条数据保存到数 ...

  9. Android 进阶 教你打造 Android 中的 IOC 框架 【ViewInject】 (上)

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/39269193,本文出自:[张鸿洋的博客] 1.概述 首先我们来吹吹牛,什么叫Io ...

最新文章

  1. Oracle高效分页存储过程实例
  2. RDKit | 基于RF和SVM的溶解度预测模型比较
  3. R语言attributes函数(获取属性、设置属性)、attr函数(改变一个属性)、structure函数(改变数据形状)实战
  4. FreeDos 历史
  5. poj2752 字符串子KMP应用
  6. bagging 与boosting
  7. 离散制造业的数据采集之路
  8. Middle of the Contest
  9. B端数据表格设计实战指南(建议收藏)
  10. 【Python】处理 from sklearn.externals import joblib 报错问题
  11. MATLAB滤波demo
  12. html和css设计网页实例,经典网页设计:30个创意的 CSS 应用案例
  13. 技术沙龙之IOS相机管理
  14. 浏览器自带开发工具你知道多少?
  15. 基于java的多商家美食点评网
  16. Mac Xnip 截图软件快捷键设置
  17. 逆矩阵的概念、应用和求解
  18. Win32k.sys是什么文件
  19. 计算机无法自动连接网络地址,ip地址错误网络无法连接怎么办-ip地址错误网络无法连接解决办法 - 河东软件园...
  20. 统计学(2)——统计学介绍

热门文章

  1. python json dumps utf8_Python2操作JSON出现乱码的解决方案
  2. mysql 时间chuo格式化_Mysql时间戳与时间格式转换问题汇总
  3. python3 selenium安装教程_Python3爬虫利器之Selenium的安装
  4. Android 第八课 创建自定义控件
  5. openfiler的iSCSI配置(二)
  6. Vue多个组件映射到同一个组件,页面不刷新?
  7. [New Portal]Windows Azure Virtual Machine (14) 在本地制作数据文件VHD并上传至Azure(1)
  8. 【转】OpenGL超级宝典笔记——纹理映射Mipmap
  9. Android两个注意事项.深入了解Intent和IntentFilter(两)
  10. linux进程通讯-纯文本文件