Android OrmLite数据库框架详解
2017-10-26 本文已影响89人
AKyS佐毅
ORMLite简介
- Ormlite框架是第三方对数据库操作的封装的一个框架,为了提高开发效率,尤其是对某些数据库操作特别频繁的app,建议使用OrmLite框架。它是一个非常轻量级的数据库操作框架,它的底层是根据反射机制来实现的。
为什么使用ORMLite
- 大多数Android应用需要使用SQLite 数据库
- 对数据库进行操作需要编写大量的代码
- 直接使用面向对象的方式操作数据库
- 常用的ORM框架有:
- OrmLite 使用注解,使用简单
- GreenDAO 自动生成代码,性能高
- SugarORM
- Active Android
- Realm
ORMLite使用步骤
-
1.创建相应的javaBean,使用注解的方式,,分别在属性上添加@DatabaseField(columnName = “name”) ,columnName的值为该字段在数据中的列名,@DatabaseField(generatedId = true) ,generatedId 表示id为主键且自动生成。
- 编写该Bean的数据库层的封装,通常为xxDao,并在类中完成对Bean的相关操作的封装。
- 编写数据库的帮助类,让其继承OrmLiteSqliteOpenHelper,在该类中完成数据库和表的创建,并创建获取所有Bean的Dao层的方法,并使用单例方式实现数据库帮助对象的初始化,最后释放资源。
-
- 重写以下两个回调方法:
- onCreate(SQLiteDatabase database,ConnectionSourceconnectionSource)创建表, 我们直接使用ormlite提供的TableUtils.createTable(connectionSource, User.class);进行创建。
- onUpgrade(SQLiteDatabase database, ConnectionSource connectionSource, intoldVersion, int newVersion),更新表,使用ormlite提供的TableUtils.dropTable(connectionSource, User.class, true);进行删除操作,删除完成后,别忘了,创建操作:onCreate(database, connectionSource);
-
下载资源文件
- 将两个资源文件加入AndroidStudio的App目录下的Lib中。
如果发现没有没有提示导入的话,需要手动写配置信息
配置信息
- 定义实体类,使用OrmLite注解定义表和字段 。
- 如果不添加
@DatabaseField
属性将不会在数据库中创建。
- 如果不添加
- 定义实体类,使用OrmLite注解定义表和字段 。
-
继承OrmLiteSqliteOpenHelper类
继承OrmLiteSqliteOpenHelper类
-
- 获得对应表的Dao类
- 执行增删改查操作
- TableUtils类封装了一些用来创建和删除表的静态方法。TextUtils类是android封装的一些用来处理字符串比如非空判断等的静态方法。Dao类是数据访问对象,需要通过ormlitesqliteopenhelper对象的getDao()方法得到。
-
增
增 -
删
删 -
改
改 -
查
查
一对多关系
针对一对多的关系表,可以进行如下的操作:
例如:学校和学生就存在着一对多的关系,这个时候,在学生表中,学校的ID就可以作为外键。
学生学校