Android 中的ORM框架
在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框架相关推荐
- 每天学习一个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 ...
- Android 进阶 教你打造 Android 中的 IOC 框架 【ViewInject】 (下)
上一篇博客我们已经带大家简单的吹了一下IoC,实现了Activity中View的布局以及控件的注入,如果你不了解,请参考:Android 进阶 教你打造 Android 中的 IOC 框架 [View ...
- Web框架中的ORM框架
Web框架中的ORM框架 在 Python 实现的 Web 框架中,通过 API 接口来访问后端的视图函数,视图函数对数据库中的数据进行处理然后返回给前端.在这个过程中,视图函数不是直接通过 SQL ...
- android中使用tmf框架插件化开发的问题
android中使用tmf框架插件化开发的问题 最近项目开发使用的是tmf框架,其中大多数都是通过源生和H5交互的方式来实现的,大体实现和别的三方框架是一样的,需要按照tmf的官方文档引入一些lib和 ...
- android的orm框架有哪些,Android 常用的ORM框架详解
1. OrmLite OrmLite 不是 Android 平台专用的ORM框架,它是Java ORM.支持JDBC连接,Spring以及Android平台.语法中广泛使用了注解(Annotation ...
- Android中的hook框架:epic简介
epic是Android中的一个开源的hook框架,目前最新版本是:0.11.2,项目地址:https://github.com/tiann/epic. epic框架的优点有: 1.可以hook普通方 ...
- 教你打造 Android 中的 IOC 框架
1.概述 首先我们来吹吹牛,什么叫IoC,控制反转(Inversion of Control,英文缩写为IoC),什么意思呢? 就是你一个类里面需要用到很多个成员变量,传统的写法,你要用这些成员变量, ...
- Android 数据库制作APP,在Android 中使用Anko框架制作一个完整的App,第二集
作者:feintkotlin(Kotlin学习网) 说明:这次更新对一些小的细节进行了改进,并增加了SQLite的操作.该应用支持6.0及以上android系统 更新:当有网络时,将前5条数据保存到数 ...
- Android 进阶 教你打造 Android 中的 IOC 框架 【ViewInject】 (上)
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/39269193,本文出自:[张鸿洋的博客] 1.概述 首先我们来吹吹牛,什么叫Io ...
最新文章
- Oracle高效分页存储过程实例
- RDKit | 基于RF和SVM的溶解度预测模型比较
- R语言attributes函数(获取属性、设置属性)、attr函数(改变一个属性)、structure函数(改变数据形状)实战
- FreeDos 历史
- poj2752 字符串子KMP应用
- bagging 与boosting
- 离散制造业的数据采集之路
- Middle of the Contest
- B端数据表格设计实战指南(建议收藏)
- 【Python】处理 from sklearn.externals import joblib 报错问题
- MATLAB滤波demo
- html和css设计网页实例,经典网页设计:30个创意的 CSS 应用案例
- 技术沙龙之IOS相机管理
- 浏览器自带开发工具你知道多少?
- 基于java的多商家美食点评网
- Mac Xnip 截图软件快捷键设置
- 逆矩阵的概念、应用和求解
- Win32k.sys是什么文件
- 计算机无法自动连接网络地址,ip地址错误网络无法连接怎么办-ip地址错误网络无法连接解决办法 - 河东软件园...
- 统计学(2)——统计学介绍
热门文章
- python json dumps utf8_Python2操作JSON出现乱码的解决方案
- mysql 时间chuo格式化_Mysql时间戳与时间格式转换问题汇总
- python3 selenium安装教程_Python3爬虫利器之Selenium的安装
- Android 第八课 创建自定义控件
- openfiler的iSCSI配置(二)
- Vue多个组件映射到同一个组件,页面不刷新?
- [New Portal]Windows Azure Virtual Machine (14) 在本地制作数据文件VHD并上传至Azure(1)
- 【转】OpenGL超级宝典笔记——纹理映射Mipmap
- Android两个注意事项.深入了解Intent和IntentFilter(两)
- linux进程通讯-纯文本文件