android ORMlite的应用

  ORMLite -轻量级的对象关系映射(ORM)

    如果你需要在android中使用ORMLite 你需要进入官方网站http://ormlite.com/ 中下载

      

    下载了这两个包以后,你还需要在对应的项目中配置这两个包

  然后你就可以开始写你的数据库语句了!!!

  我们一步一步来建立一个简单的ORMLite的小例子

    我们要实现的也就是利用ORMLite来呈现一个列表集合

  先来看布局文件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
    <ListView
        android:id="@+id/list_show_Person"
        android:layout_weight="1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >
    </ListView>

</LinearLayout>

  既然是要操作数据库,那么就得创建数据库

package com.example.learn_ormlite;

import android.content.ContentValues;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;

public class SQLiteHelper extends SQLiteOpenHelper {

    private final static String DbName="test_Person.db";
    private static int version=1;
    public SQLiteHelper(Context context) {
        super(context, DbName, null, version);
    }
    @Override
    public void onCreate(SQLiteDatabase db) {
    String sql="create table person(id integer primary key autoincrement,name text)";
    db.execSQL(sql);
    ContentValues con=new ContentValues();
    con.put("name", "text1");
    db.insert("person",null,con);
    db.insert("person",null,con);
    db.insert("person",null,con);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

    }

}

然后我们来配置这次的主角,

package com.example.learn_ormlite;

import java.sql.SQLException;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;

import com.j256.ormlite.android.apptools.OrmLiteSqliteOpenHelper;
import com.j256.ormlite.dao.Dao;
import com.j256.ormlite.support.ConnectionSource;

public class myORMLiteHelper extends OrmLiteSqliteOpenHelper {

    private final static String DbName="test_Person.db";
    private static int version=1;
    private  Dao<Person,Integer> person_db=null;
    public myORMLiteHelper(Context context) {
        super(context, DbName, null, version);
    }

    @Override
    public void onCreate(SQLiteDatabase arg0, ConnectionSource arg1) {

    }
    public  Dao<Person,Integer> getPerson()
    {
        if(person_db==null)
            try {
                person_db=getDao(Person.class);
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        return person_db;
    }
    @Override
    public void onUpgrade(SQLiteDatabase arg0, ConnectionSource arg1, int arg2,
            int arg3) {
    }
    @Override
    public void close() {
        if(person_db!=null)
            person_db=null;
        super.close();
    }

}

我们可以看到,上面用红色标记出来的,说明了ORMLite是自动去找到这个数据库的,也就是说用数据库名称和版本绑定数据库,

  但是现在我们只是告诉它我们要得到一个东西,但是怎么得到的规则还没有定下来,所有,我们还得还定义规则

  

package com.example.learn_ormlite;

import com.j256.ormlite.field.DatabaseField;
import com.j256.ormlite.table.DatabaseTable;

@DatabaseTable(tableName = "person")
public class Person {

    @DatabaseField(id = true)
    private Integer id;
    @DatabaseField(columnName="name")
    private String name;
    public Person()
    {
    }
    public Person(String name)
    {
        this.name=name;
    }
    public void setUid(int uid) {
        this.id = uid;
    }
    public Integer getUid() {
        return id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    @Override
    public String toString() {
        return name;
    }
}

我们所使用的规则就是,在需要映射的字段上面添加一些属性,当然这些属性必须得和数据库里面的关系相对应,

然后我们就可以使用这个表了

package com.example.learn_ormlite;

import java.sql.SQLException;
import java.util.List;

import android.app.Activity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.util.Log;
import android.widget.ArrayAdapter;
import android.widget.ListView;

import com.j256.ormlite.dao.Dao;

public class MainActivity extends Activity {

    private ListView listShow;
    private List<Person> Tperson=null;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        SQLiteHelper sql=new SQLiteHelper(this);
        SQLiteDatabase  db= sql.getWritableDatabase();
        db.close();
        listShow=(ListView) findViewById(R.id.list_show_Person);
        myORMLiteHelper ml=new myORMLiteHelper(this);

        Dao<Person,Integer> db_person=  ml.getPerson();
        try {
            Tperson= db_person.queryForAll();
            listShow.setAdapter(new ArrayAdapter<Person>(MainActivity.this,android.R.layout.simple_list_item_1,Tperson){});

        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}
时间: 2025-01-05 15:53:39

android ORMlite的应用的相关文章

Android ORMLite ForeignCollection关联外部集合

?? <Android ORMLite ForeignCollection关联外部集合> Android ORMLite ForeignCollection关联外部集合的功能,适合层级比較深,数据模型互相渗透.交叉的数据结构或集合.尤其方便解决复杂数据模型.简单期间,我们临时以 班级 <-> 学生 这种数据模型为例加以说明.一个班级里面有若干学生(一对多,1<-n).反过来说,若干个学生集合到一个班级中(n->1). 在Android ORMLite中.这种结构模型能够

Android ormlite like() function is not working

//http://stackoverflow.com/questions/7642161/android-ormlite-like-function-is-not-working try { QueryBuilder<MakeDTO, Integer> qb = makeDao.queryBuilder(); qb.where().like("madeCompany", "%"+filterKey+"%"); PreparedQuer

Android ORMLite 框架的入门用法

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/39121377 大家在Android项目中或多或少的都会使用数据库,为了提高我们的开发效率,当然少不了数据库ORM框架了,尤其是某些数据库操作特别频繁的app:本篇博客将详细介绍ORMLite的简易用法. 下面开始介绍ORMLite的入门用法~ 1.下载 ORMLite Jar 首先去ORMLite官网下载jar包,对于Android为:ormlite-android-4.48.

Android—Ormlite框架简单的操作数据库

大家在Android项目中或多或少的都会使用数据库,为了提高我们的开发效率,当然少不了数据库ORM框架了,尤其是某些数据库操作特别频繁的app:本篇博客将详细介绍ORMLite的简易用法. 下面开始介绍ORMLite的入门用法~ 1.下载 ORMLite Jar 首先去ORMLite官网下载jar包,对于Android为:ormlite-android-5.0.jar 和 ormlite-core-5.0.jar : ps:访问不了的朋友,文章末尾会把jar.源码.doc与本篇博客例子一起打包提

Android ORMLite数据库简介

 一般的项目中,Android自身提供的SQLite数据库,可以满足轻量级的数据存储应用,但是,只要是存储模型稍微复杂的项目,以及数据结构模型复杂的应用,就很难再用SQLite支撑整个项目的数据存储.何况,使用SQLite编写的代码,代码后续维护和管理不容易,所以,上规模的项目中,很有必要引入一种更好用.对开发者更友好的第三方ORM数据库框架:ORMlite. ORMLite官方的简介说:"Object Relational Mapping Lite (ORM Lite) provides

Android 快速开发系列 ORMLite 框架的使用

上一篇已经对ORMLite框架做了简单的介绍:Android ORMLite 框架的入门用法~~本篇将介绍项目可能会使用到的一些用法,也为我们的使用ORMLite框架总结出一个较合理的用法. 通过上一篇的了解,我们使用ORMLite,需要自己写一个DatabaseHelper去继承OrmLiteSqliteOpenHelper,下面我们首先给出一个我认为比较靠谱的Helper的写法: 1.DatabaseHelper package com.zhy.zhy_ormlite.db; import

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

Android数据库框架--ORMLite轻量级的对象关系映射(ORM)Java包 事实上,我想写数据库的念头已经很久了,在之前写了一个答题系统的小项目那只是初步的带了一下数据库,数据库是比较强大的,不是我们三言两语就能解决的,我一直想抽个时间自己再过一遍Sqlite和JDBC的,但是,大家也知道,琐事比较多,我们来说一下数据库的框架吧,事实上市面上,我觉得还可以的数据库框架有两个,ORMLite和GreenDao,我以前做的运动类的应用上,就需要存储大量的运动数据,我们最开始是在本地写数据库的

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

上一篇已经对ORMLite框架做了简单的介绍:Android ORMLite 框架的入门用法~~本篇将介绍项目可能会使用到的一些用法,也为我们的使用ORMLite框架总结出一个较合理的用法. 通过上一篇的了解,我们使用ORMLite,需要自己写一个DatabaseHelper去继承OrmLiteSqliteOpenHelper,下面我们首先给出一个我认为比较靠谱的Helper的写法: 1.DatabaseHelper [java] view plaincopy package com.zhy.z

Android官方ORM数据库Room技术解决方案简介(一)

是时候该忘记Android SQLite了!Android官方ORM数据库Room技术解决方案简介(一) Android的Romm是Android官方整合出来的一揽子ORM数据库解决方案.Android Room和历史上的ORM数据库如Android ORMLite(见附录文章1,2),Android greenDao等等,有诸多相同的设计思想和理念,但Android Room同时吸收众家ORM数据库之长,有自己新的创新和改进.我将分开写若干篇文章,逐点介绍Android官方的ORM数据库技术解