1、下載jar包
首先去ORMLite官網下載jar包,對於Android爲:ormlite-android-4.46.jar 和 ormlite-core-4.46.jar ;
可能更高了,導入libs下並配置好
2、寫實體(javaBean)類
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;
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 CiatCareOpenHelper(Context context, String databaseName,
public final static String DATABASE_NAME = "ciatwild.db";
// 數據庫版本
public final static int DATABASE_VISION = 2;
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);//創建數據庫user= new 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);