數據庫框架ormlimt簡單使用

1、下載jar包



首先去ORMLite官網下載jar包,對於Android爲:ormlite-android-4.46.jar 和 ormlite-core-4.46.jar ;

可能更高了,導入libs下並配置好


2、寫實體(javaBean)類



package com.chinaiat.ciatwild.domain;  
  
import com.j256.ormlite.field.DatabaseField;  
import com.j256.ormlite.table.DatabaseTable;  
  
@DatabaseTable(tableName = "tb_user")  //設置表名爲:tb_user
public class User  
{  
    @DatabaseField(generatedId = true)  //true設置主鍵自增長
    private int id;  

   //canBeNull -表示不能爲null;foreign=true表示是一個外鍵;columnName 列名
      @DatabaseField(canBeNull = true, foreign = true, columnName = "name")
    private String name;  

    @DatabaseField //設置字段不加columnName也是可以的,默認
    private String desc;  
  
    public User()  
    {  
    }  
  
    public User(String name, String desc)  
    {  
        this.name = name;  
        this.desc = desc;  
    }  
  
    public int getId()  
    {  
        return id;  
  }  
  
    public void setId(int id)  
    {  
        this.id = id;  
    }  
  
    public String getName()  
    {  
        return name;  
    }  
  
    public void setName(String name)  
    {  
        this.name = name;  
    }  
  
    public String getDesc()  
    {  
        return desc;  
    }  
  
    public void setDesc(String desc)  
    {  
        this.desc = desc;  
    }  
}

3、編寫DAO類



第一步:寫個類繼承OrmLiteSqliteOpenHelper 
第二步:重寫創建數據庫和更新數據庫方法
第三步:調用開源框架裏面的工具類創建表

package com.chinaiat.ciatwild.db;

import java.sql.SQLException;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import com.chinaiat.ciatwild.CiatWildApplication;
import com.chinaiat.ciatwild.CiatWildCommon;
import com.chinaiat.ciatwild.domain.Location;
import com.j256.ormlite.android.apptools.OrmLiteSqliteOpenHelper;
import com.j256.ormlite.support.ConnectionSource;
import com.j256.ormlite.table.TableUtils;

public class CiatCareOpenHelper extends OrmLiteSqliteOpenHelper {
public static CiatCareOpenHelper careOpenHelper = null;
// 數據庫名稱
public final static String DATABASE_NAME = "ciatwild.db";
// 數據庫版本
public final static int DATABASE_VISION = 2;
public CiatCareOpenHelper(Context context, String databaseName,
CursorFactory factory, int databaseVersion) {
super(context, databaseName, factory, databaseVersion);
}

public static CiatCareOpenHelper getInstance() {//初始化CiatCareOpenHelper
if (careOpenHelper == null) {
careOpenHelper = new CiatCareOpenHelper(
CiatWildApplication.getInstance(),DATABASE_NAME, null,DATABASE_VISION);
}
return careOpenHelper;
}

@Override
public void onCreate(SQLiteDatabase arg0, ConnectionSource arg1) {
try {
TableUtils.createTable(arg1, User.class);//創建User表,後續有實體類依然如此
        //TableUtils.createTable(arg1, xxx.class);     
      } catch (SQLException e) {
         e.printStackTrace();
}
}

@Override
public void onUpgrade(SQLiteDatabase arg0, ConnectionSource arg1, int arg2,
int arg3) {
try {
TableUtils.createTableIfNotExists(arg1, User.class);//更新User表
} catch (SQLException e) {
e.printStackTrace();
}
}

}

4、在類中使用方式



   4.1創建並添加數據:


priate Dao<User, ?> userDao;
private User user;
try {
     userDao= CiatWildOpenHelper.careOpenHelper.getDao(User.class);//創建數據庫
     usernew User();//實例化User類
  } catch (SQLException e) {
    e.printStackTrace();
}
user.setName("李榮浩");//往字段中添加數據
user.setDesc("歌手");//往字段中添加數據
try {
 userDao.createorupData(user);//創建表或更新表,並把數據存入數據庫中
}catch(SQLException e){
    e.printStackTace();
}



4.2查詢數據:


         4.2.1 查詢所有:
Map<String, Object> query = new HashMap<String, Object>();
                    query.put("name","李榮浩");
                    List<User> queryName=userDao.queryForFieldValues(query);
                   
                    查詢一條數據: userDao.queryForId(id); 



                    4.2.2 匹配查詢:
                               userDao.queryBuilder().where().eq("id",id);

發佈了29 篇原創文章 · 獲贊 43 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章