• 【光速使用开源框架系列】数据库框架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 

  • 相关阅读:
    Java子类与父类的初始化
    悠哈牛奶糖为什么有五种味道单独装的,而不是混合装的
    C++ TinyXml操作(含源码下载)
    动物园海洋馆
    冰上行走
    Tmux : GNU Screen 的替代品
    考虑使用jruby
    关于一些展现的框架
    python抓取google搜索url
    pythonwebkit
  • 原文地址:https://www.cnblogs.com/u3shadow/p/4637596.html
Copyright © 2020-2023  润新知