【光速使用开源框架系列】数据库框架OrmLite

【关于本系列】

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

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

【介绍】:

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 

 

posted @ 2015-07-10 21:58  u3  阅读(408)  评论(0编辑  收藏  举报