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);