GreenDao 介绍:
greenDAO是一个对象关系映射(ORM)的框架,能够提供一个接口通过操作对象的方式去操作关系型数据库,它能够让你操作数据库时更简单、更方便。如下图所示:
public class DbManager {
private Context context;
private static DbManager instance;
private DaoMaster.DevOpenHelper daoMaster;
private DbManager(Context context) {
this.context = context;
daoMaster = new DaoMaster.DevOpenHelper(context, "goods.db", null);
}
//提供单例
public static DbManager getInstance(Context context) {
if (instance == null) {
synchronized (DbManager.class) {
if (instance == null) {
instance = new DbManager(context);
}
}
}
return instance;
}
public SQLiteDatabase getReadableDatabase() {
if (daoMaster == null) {
daoMaster = new DaoMaster.DevOpenHelper(context, "goods.db", null);
}
SQLiteDatabase readableDatabase = daoMaster.getReadableDatabase();
return readableDatabase;
}
}
public class DbUtils {
private Context context;
private final DaoMaster daoMaster;
private final DaoSession daoSession;
private static DbUtils dbUtils;
private final GoodsDao goodsDao;
private DbUtils(Context context) {
this.context = context;
//可读可写的数据库
daoMaster = new DaoMaster(DbManager.getInstance(context).getReadableDatabase());
//创建的表都放在Session中
daoSession = daoMaster.newSession();
//得到要操控的表
goodsDao = daoSession.getGoodsDao();
}
// 单例
public static DbUtils getInstance(Context context) {
if (dbUtils == null) {
synchronized (DbUtils.class) {
if (dbUtils == null) {
dbUtils = new DbUtils(context);
}
}
}
return dbUtils;
}
//插入方法
public void insertGoods(Goods goods) {
if (goods != null) {
goodsDao.insert(goods);
}
}
//查询所有
public List<Goods> queryAllGoods() {
QueryBuilder<Goods> builder = goodsDao.queryBuilder();
List<Goods> list = builder.list();
return list;
}
}
配置
http://blog.csdn.net/qq_30034925/article/details/54729734
增删改查
https://www.daidingkang.cc/2016/12/08/GreenDao/