【关于本系列】

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

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

【介绍】:

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++友元函数实现

    友元函数是一种特殊的函数,它必须要在类中进行声明,但其本身并不是类的成员函数,但友元函数可以访问类的私有成员变量. 友元函数的好处: 1.实现类之间的数据共享 2.提高程序运行效率,方便编程 友元函数 ...

  2. 兼容 数组 api map代码

    if(!("map" in Array.prototype)) Array.prototype.map=function(fun){ for(var i=0,arr=[]; i&l ...

  3. VSCode安装jshint插件报错

    Mac电脑上使用VSCode安装jshint插件时提示如下错误: Failed to load jshint library. Please install jshint in your worksp ...

  4. Golang调用windows下的dll动态库中的函数

    Golang调用windows下的dll动态库中的函数 使用syscall调用. package main import ( "fmt" "syscall" & ...

  5. SITP & Raspberry Pi

    系统安装 系统选择树莓派论坛提供的下载地址 Download 我选择了其中的SSH-2017-01-11-raspbian-jessie.zip[良心推荐] 选择一个大于8G的内存卡,利用 Win32 ...

  6. squid对http range的处理以及range_offset_limit

    range_offset_limit A range request comes from a client that wants only some subset of an HTTP respon ...

  7. WCF *.svc 自定义地址路由映射

    一般在创建WCF服务时会用Serivce.svc文件访问,地址如:http://localhost/applicationname/Serivce.svc/Name 现在用路由映射成:http://l ...

  8. android通过查询电话号码获取联系人信息

    // 取得Intent中的頭像 ivShowImage = (ImageView) findViewById(R.id.call_log_detail_contact_img); //通话电话号码获取 ...

  9. (转)Makefile经典教程(掌握这些足够)

    该篇文章为转载,是对原作者系列文章的总汇加上标注. 支持原创,请移步陈浩大神博客: http://blog.csdn.net/haoel/article/details/2886 makefile很重 ...

  10. composer的安装和使用 学习日志

    如果你做为一个phper,没有用过composer,那你真的不是一个合格的开发者.那么就来记录一下composer的学习日志 下面分享几个学习源头: composer中文网站:https://www. ...