Xiao bailong

SqLite 框架 GreenDAO

GreenDAO:
会生成一个数据访问,不用我们书写访问数据库的代码:

Alt text

核心原理图

图片1

生成代码
就是用生成器生成一个对应的java类的生成工厂

 public static void main(String[] args)
{
// id name age sex
// Schema s=new Schema(版本号, 代码包名);
Schema s = new Schema(1, "com.itheima.redbaby.dao");
// 描述 对象
Entity person = s.addEntity("Person");
person.addIdProperty().autoincrement().primaryKey();// id
person.addStringProperty("name");
person.addIntProperty("age");
person.addStringProperty("sex");
// 生成代码
// new DaoGenerator().generateAll(s, 输入路径);
try {// .. 工作空间
new DaoGenerator().generateAll(s, "../greendao_redbaby/src/");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

代码生成在指定的路劲如下

Alt text

测试代码

@Test
public void testLoad() {
DaoSession sesion = getSession();
PersonDao person = sesion.getPersonDao();
Person p=person.load(1L);
Log.i("wzx", p.getName());
}

@Test
public void testLoadAll() {
DaoSession sesion = getSession();
PersonDao person = sesion.getPersonDao();
List<Person> list = person.loadAll();
for (Person p : list) {
Log.i("wzx", p.getName());
}

}

@Test
public void testInsert() {

DaoSession sesion = getSession();
// 获取具体一个Dao PerpsonDao
PersonDao dao = sesion.getPersonDao();
Person p = new Person();
p.setAge(1);
p.setName("张三的歌");
p.setSex("man");
dao.insert(p);
}

public DaoSession getSession() {
// 描述数据 SHOPPING.db
// SqliteOpenHelper
// |--DevOpenHelper
SQLiteDatabase db = new DaoMaster.DevOpenHelper(mContext, "SHOPPING.db", null).getWritableDatabase();
DaoMaster dm = new DaoMaster(db);
// 获取Dao的集合DaoSession PersonDao
DaoSession sesion = dm.newSession();
return sesion;
}

@Test
public void testDeleteByKey() {
DaoSession sesion = getSession();
PersonDao personDao = sesion.getPersonDao();
personDao.deleteByKey(1L);
}
@Test
public void testUpdate() {
DaoSession sesion = getSession();
PersonDao personDao = sesion.getPersonDao();
Person p=personDao.load(1L);
p.setAge(22);
p.setSex("woman");
personDao.update(p);

}

总结
整体简单了我们对数据库的使用,使的我们不过过多的书写SQL代码;
只需要我们把数据库的每一Row。 专话成为 JavaBean的字段就可以了。
简单粗暴;

posted @ 2015-10-28 01:22  小白龙on  阅读(611)  评论(0编辑  收藏  举报

QQ:846650266,电话:15117424475

© 白龙工作室 |隐私条款 |服务条款 |盘ICP备10000000号-1