1. Ormlite是什么?

  • Android原生操作数据库的方式是这样的:
  • 首先定义一个类继承SQLiteOpenHelper,重写onCreate和onUpdate
  • 后续对数据库的增删改查以及创建和销毁都需要操作相对比较底层的sql语句,难以记忆又容易出错
  • 而且操作sql语句代码量多,sql语句的逻辑比较繁琐
  • 而Java是面向对象的语言,有没有一种方式可以让我们不去关心sql语句的编写,直接面向对象;我们操作对象就间接操作了数据库。那么orm数据库框架就是帮助我们完成这个事,并且能够将javabean和数据库的表映射起来,javabean的字段就是表的字段。这就是为什么叫o(对象)r(关系)m(映射)的原因。
  • Ormlite就是一个orm数据库框架之一。

2. 为什么选择Ormlite?

Andorid平台的orm数据库框架有很多:比如greenDao,DBFlow,Relm等,甚至xutil,afinal;每个orm框架各有优缺点,而Ormlite使用起来非常容易上手,效率也还不错,所以我们选择它作为学习的对象。试想想,如果一个类库光配置就需要搞一天,你还会有心情用它么?

3. Ormlite如何使用?

  • 准备工作:引入相关jar包
  • 首先,定义类继承OrmLiteSqliteOpenHelper:
public class MyDbhepler extends OrmLiteSqliteOpenHelper {private static final String TAG = "MyDbhepler";public MyDbhepler(Context context) {super(context, "ngyb.db", null, 1);}@Overridepublic void onCreate(SQLiteDatabase sqLiteDatabase, ConnectionSource connectionSource) {try {Log.e(TAG, "onCreate: ");TableUtils.createTable(connectionSource, Student.class);} catch (SQLException e) {e.printStackTrace();}}@Overridepublic void onUpgrade(SQLiteDatabase sqLiteDatabase, ConnectionSource connectionSource, int i, int i1) {}
}

  • 其次,编写javabean,通过注解配置和表的映射关系:
@DatabaseTable(tableName = "student")
public class Student {public Student() {//javabean 一定要创建一个无参数的构造
    }public Student(String name) {this.name = name;}public Student(String name, int age) {this.name = name;this.age = age;}@DatabaseField(generatedId = true)public int id;@DatabaseFieldpublic String name;@DatabaseFieldpublic int age;@Overridepublic String toString() {return "Student{" +"id=" + id +", name='" + name + '\'' +", age=" + age +'}';}
}

  • 最后,调用dao类的对应方法,直接操作对象,即可完成增删改查:
        MyDbhepler myDbhepler = new MyDbhepler(getApplicationContext());try {Dao<Student, Integer> dao = myDbhepler.getDao(Student.class);Log.e(TAG, "onCreate: ");dao.create(new Student("ngyb", 18));
//            Student student = dao.queryForId(0);Student student = dao.queryForAll().get(0);if (student != null) {student.name = "ltz";student.age = 23;dao.update(student);}//            dao.deleteById(3);List<Student> students = dao.queryForAll();for (Student student1 : students) {Log.e(TAG, "onCreate: " + student1.toString());}} catch (SQLException e) {e.printStackTrace();}

}

转载于:https://www.cnblogs.com/nangongyibin/p/10421708.html

Ormlite数据库相关推荐

  1. Android 系统(171)---OrmLite数据库框架,Picasso框架,Okio框架,OKHttp框架

    OrmLite数据库框架,Picasso框架,Okio框架,OKHttp框架 OrmLite基础知识 什么是OrmLite框架,在我没用这个框架时,不知道它有多好,用了才知道很方便哦,为了提供开发效率 ...

  2. ORMLite 数据库的使用--二次封装

    ORMLite 数据库封装的使用 最近在做一个市政抄表机,录入用户水汽表数据到DB里面的,这个封装是同事封装的,封装的很好,文档也很详细,所以计入一下.方便下次使用. 推荐使用GreenDao3.2: ...

  3. Android ORMLite数据库简介

     一般的项目中,Android自身提供的SQLite数据库,可以满足轻量级的数据存储应用,但是,只要是存储模型稍微复杂的项目,以及数据结构模型复杂的应用,就很难再用SQLite支撑整个项目的数据存 ...

  4. 【Android】在Android上使用OrmLite数据库框架 之 基本用法

    转载自:http://blog.csdn.net/oo8_8oo/article/details/7302156 官网:http://ormlite.com/ 官方帮助,目录: http://orml ...

  5. Android使用OrmLite数据库框架 之 基本用法

    官网:http://ormlite.com/ 官方帮助,目录: http://ormlite.com/javadoc/ormlite-core/doc-files/ormlite_toc.html#S ...

  6. ServiceStack OrmLite 数据库查询 几个实用方法 (继承表格式化集合等)

    执行SQL语句: int result = db.SqlScalar<int>("SELECT OBJECT_ID(@name)", new { name = &quo ...

  7. android数据库存储查询,geopackage-android 开源的地理空间信息数据库存储

    GeoPackage一个开放的地理空间信息的格式,基于标准的.平台独立的,可移植的.自描述.紧凑格式将地理空间信息.遵循OGC标准,数据库内核使用ormlite数据库.GeoPackage 数据库表可 ...

  8. OrmLite 5.3使用笔记

    OrmLite 5.3使用笔记 前言 1.下载OrmLite Jar 2.创建Bean类 2.1介绍注解 2.2Bean对象 3.继承 OrmLiteSqliteOpenHelper 4.操作 4.1 ...

  9. Android OkHttp框架解析

    Okhttp是由Sqare公司开发的开源网络访问库,是目前比较火的网络框架, 它处理了很多网络疑难杂症:会从很多常用的连接问题中自动恢复.如果你的服务器配置了多个IP地址,当第一个IP连接失败的时候, ...

最新文章

  1. mysql处理含中文的SQL文件_mysql命令行还原phpMyAdmin导出的含有中文的SQL文件
  2. Paddle内置的网络模型
  3. 神经元模型及网络结构
  4. 数据库和python的结合_MySQL数据库和Python如何结合?
  5. CMS(Concurrent Mark-Sweep)垃圾回收器
  6. Mysql数据库的瓶颈处理一点建议
  7. 浪潮n系列服务器指示灯_【科恩电气】通用薄型区域传感器 NA2N系列
  8. html5访问电脑或手机摄像头
  9. IBM阿蒙克公司已经与纪念斯隆-凯特琳癌症中心合作,用“沃森”来帮助癌症治疗
  10. vue实现移动端在线预览pdf
  11. AD19--快速画原理图库文件、PCB库文件(以TL072为例)
  12. 如何在matlab中进行非线性规划,matlab非线性规划_图文.ppt
  13. 学游戏原画都需要掌握哪些软件
  14. (三)Kotlin加密/解密之AES和DES
  15. Ubuntu oh-my-zsh与autosuggestions配置
  16. 第1讲--tuxedo总体介绍
  17. 洛谷 p1000 超级玛丽游戏
  18. 【实战】OceanBase之OMS迁移Oracle至oceanbase
  19. H无穷控制理论与应用案例分析
  20. 基于JAVA康养旅游信息系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署

热门文章

  1. printf 小函数 大问题-转
  2. table中的td表示table data(表格数据),tr表示table row(表格行),th表示table head(表格头)
  3. 并发程序设计模式之Future模式
  4. mysql数据库中 pri_MySQL数据库管理——SQL指令集
  5. mysql如何安装sys,linux下如何安装新版的mysql
  6. 管理节点连接不上sql节点_华为云IEF智能边缘平台十万边缘节点管理技术深度解读学习笔记...
  7. 【编译打包】nagios-4.0.4-2.el6.src.rpm
  8. mysql之delete删除记录后数据库大小不变
  9. 数据结构_二叉树非递归遍历
  10. 40行代码的人脸识别实践【转】