【关于本系列】

最近看了不少开源框架,网上的资料也非常多,但是我认为了解一个框架最好的方法就是实际使用。本系列博文就是带领大家快速的上手一些常用的开源框架,体会到其作用。

由于作者水平有限,本系列只会描述如何快速的使用框架的基本功能,更多的详细设置大家可以在这些项目的页面上找到。

【介绍】:

ORMLite是一款辅助开发数据库的框架,可以通过给实体配置标注来快速建立数据表,也可以通过其提供的DAO类中的方法来快速对数据库进行操作,如增删改查等。

【项目页面】:

http://ormlite.com/

【使用步骤】

1.从http://ormlite.com/releases/下载Android和Core的JAR包,导入项目中

2.建立一个实体类

3.给该实体类配置标注(表明,字段名,字段属性等)

4.创建一个openhelper类继承OrmLiteSqliteOpenHelper实现oncreate以及getDAO等方法

5.完成上述步骤后就可以使用我们的openhelper类获得DAO来进行操作了。

【代码】

实体类Person.java

@DatabaseTable(tableName = "person")//设置生成表名 person
public class Person {
@DatabaseField(generatedId = true)//设置生成id
private int Id;
@DatabaseField(columnName = "name")//设置字段名称
private String name;
public Person(){}
public Person(String s)
{
this.name = s;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}

自定义OpenHelper类 OpenHelper.java

public class OpenHelper extends OrmLiteSqliteOpenHelper {
private Dao<Person, Integer> mPersonDao; public OpenHelper(Context context) {
super(context, "test", null, 1);//初始化,数据库名称为test
} @Override
public void onCreate(SQLiteDatabase sqLiteDatabase, com.j256.ormlite.support.ConnectionSource connectionSource) {
try {
TableUtils.createTable(connectionSource, Person.class);//根据配置好的实体类建表
} catch (SQLException e) {
e.printStackTrace();
}
} @Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, com.j256.ormlite.support.ConnectionSource connectionSource, int i, int i1) { } public Dao<Person, Integer> getPersonDao() throws java.sql.SQLException {//该方法用来返回DAO类
if (mPersonDao == null) {
mPersonDao = getDao(Person.class);
}
return mPersonDao;
}
}

测试类Test.java

public class Test extends AndroidTestCase {
public void testAdd()
{
Person p1 = new Person("u3");
OpenHelper helper = new OpenHelper(getContext());//新建一个OpenHelper对象
try {
helper.getPersonDao().create(p1);//添加一条记录
p1 = new Person("u31");
helper.getPersonDao().create(p1);//添加一条记录
p1 = new Person("u32");
testList();//查询并打出所有记录
} catch (SQLException e) {
e.printStackTrace();
}
}
public void testList()
{
OpenHelper helper = new OpenHelper(getContext());//建立OpenHelper对象
try {
List<Person> users = helper.getPersonDao().queryForAll();//通过DAO来查询所有的记录
Log.v("sk", users.toString());//打印在LOGO之中
} catch (SQLException e) {
e.printStackTrace();
}
}
}

【一个更复杂的例子】

以上就是ORMlite框架的简单用法了,但是这样的用法依然很简陋,如果大家想继续研究的话可以看一下这篇博客

Android 快速开发系列 ORMLite 框架最佳实践

http://blog.csdn.net/lmj623565791/article/details/39122981

【光速使用开源框架系列】数据库框架OrmLite的更多相关文章

  1. 自己动手写Android框架-数据库框架

    大家在工作中基本上都有使用到数据库框架 关系型:ORMLite,GreenDao 对象型:DB4O,Perst 这些数据库用起来都非常的简单,对于我们Android上来说这些数据库足够我们使用了,但是 ...

  2. 【开源】OSharp3.3框架解说系列:重新开源及3.3版本新特性

    OSharp是什么? OSharp是个快速开发框架,但不是一个大而全的包罗万象的框架,严格的说,OSharp中什么都没有实现.与其他大而全的框架最大的不同点,就是OSharp只做抽象封装,不做实现.依 ...

  3. Quartz.NET开源作业调度框架系列

    Quartz.NET是一个被广泛使用的开源作业调度框架 , 由于是用C#语言创建,可方便的用于winform和asp.net应用程序中.Quartz.NET提供了巨大的灵活性但又兼具简单性.开发人员可 ...

  4. Android数据库框架——ORMLite轻量级的对象关系映射(ORM)Java包

    Android数据库框架--ORMLite轻量级的对象关系映射(ORM)Java包 事实上,我想写数据库的念头已经很久了,在之前写了一个答题系统的小项目那只是初步的带了一下数据库,数据库是比较强大的, ...

  5. Android 数据库框架OrmLite的使用(一)

    在这里记录下最基本的用法,官网上可了解相关的介绍. 1.下载OrmLite jar 在下载android的:ormlite-android-4.48.jar和ormlite-core-4.48.jar ...

  6. Android 数据库框架ormlite

    Android 数据库框架ormlite 使用精要 前言 本篇博客记录一下笔者在实际开发中使用到的一个数据库框架,这个可以让我们快速实现数据库操作,避免频繁手写sql,提高我们的开发效率,减少出错的机 ...

  7. Android开发——使用LitePal开源数据库框架

    前言:之前使用Android内置的数据库,感觉一大堆SQL语句,一不小心就错了,很难受,学习了这个LItePal的开源数据库框架,瞬间觉得Android内置的数据库简直是垃圾般的存在 LitePal ...

  8. Android精通之OrmLite数据库框架,Picasso框架,Okio框架,OKHttp框架

    版权声明:未经博主允许不得转载 OrmLite基础知识 什么是OrmLite框架,在我没用这个框架时,不知道它有多好,用了才知道很方便哦,为了提供开发效率,Android开发者需要懂得运行多种框架进行 ...

  9. ORM数据库框架 SQLite ORMLite MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  10. Android数据库框架-----ORMLite关联表的使用

    上一篇已经对ORMLite框架做了简单的介绍:Android数据库框架-----ORMLite 的基本用法~~本篇将介绍项目可能会使用到的一些用法,也为我们的使用ORMLite框架总结出一个较合理的用 ...

随机推荐

  1. [转载] C++中this指针的用法详解

    摘自:http://blog.chinaunix.net/uid-21411227-id-1826942.html 1. this指针的用处: 一个对象的this指针并不是对象本身的一部分,不会影响s ...

  2. HDU - 4333 :Revolving Digits (扩展KMP经典题,问旋转后有多少个不同的数字小于它本身,等于它本身,大于它本身。)

    One day Silence is interested in revolving the digits of a positive integer. In the revolving operat ...

  3. 深入了解zookeeper(三)

    一.ZooKeeper 的实现 1.1 ZooKeeper处理单点故障 我们知道可以通过ZooKeeper对分布式系统进行Master选举,来解决分布式系统的单点故障,如图所示. 那么我们继续分析一下 ...

  4. ecmall在linux下的安装注意事项(转) ----ecmall系统迁移

    linux+apache+mysql+php,然后自己开始在linux下安装ecmall并做迁移,整理了一下中间碰到的问题.1.系统选择的环境是centos6.3,安装不做介绍. 2.安装 MySQL ...

  5. 安装appium需要注意的事项

    参考 虫师 的博客园  :http://www.cnblogs.com/fnng/p/4560298.html 1.其中第二篇中,打开命令行用的不是windows中的cmd打开的界面,而是用node. ...

  6. java代码练习======每隔5行打印数字

    总结:当我们感觉数字排列横排,竖排不好看的时候,学会空几行在排列,哎呦,效果不错喔 package com.aa; public class West2 { public static void ma ...

  7. 第2章 深入分析java I/O的工作机制(下)

    2.6 设计模式解析之适配器模式 2.6.1 适配器模式的结构 把一个类的接口变换成一客户端能接受的另一个接口. Target(目标接口): 要转换的期待的接口. Adaptee(源角色):需要适配的 ...

  8. linux命令echo和cat比较

    当前主要比较echo 和 cat的重定向功能 1.echo 1 > /proc/xxx 解析: echo 进行重定向的时候,仅仅是将字符"1" 输出到 /proc/xxx文件 ...

  9. 卷积神经网络之ResNet网络模型学习

    Deep Residual Learning for Image Recognition 微软亚洲研究院的何凯明等人 论文地址 https://arxiv.org/pdf/1512.03385v1.p ...

  10. 搭建httpd服务

    实验环境:CentOS7 实验步骤: 安装httpd服务:yum -y install httpd 关闭SELinux:setenforce 0 禁用防火墙策略:iptables -F 启动httpd ...