开源中国 2018 年度最后一场技术盛会邀你来约~错过就要等明年啦!点此立即预约

亓斌 / OpenDroidAndroidApache-2.0

指数
0
Watch 27 Star 61 Fork 25
加入码云
与超过 300 万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
OpenDroid, android上的一个开源orm框架,可以轻松实现将数据库中的数据映射到java bean中、java bean持久化到sqlite中。 展开 收起

亓斌 最后提交于 Update README.md
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README.md

##OpenDroid源码讲解请移步:我的博客专栏 #OpenDroid 一、opendroid的介绍:

opendroid, android上的一个开源orm框架,可以轻松实现将数据库中的数据映射到java bean中、将java bean持久化到sqlite中。

opendroid也提供了强大的数据库升级方案,只需修改一个参数即可实现数据库升级,opendroid会自动将旧数据更新到新表中,免除数据库升级数据丢失的烦恼。

opendroid使用简单,语法简洁,预计10分钟即可完全掌握opendroid的使用。

以下是opendroid的使用方法,项目中也提供了samples供参考。

二、opendroid的上手:

1、将library目录中的opendroid.jar文件copy到你项目的libs目录。
2、在项目中新建需要映射的java bean文件,并让该类继承自OpenDroid类。

public class Student extends OpenDroid {

private String stuName;
private int stuAge;
private String stuAddr;

public String getStuAddr() {
	return stuAddr;
}

public void setStuAddr(String stuAddr) {
	this.stuAddr = stuAddr;
}

public String getStuName() {
	return stuName;
}

public void setStuName(String stuName) {
	this.stuName = stuName;
}

public int getStuAge() {
	return stuAge;
}

public void setStuAge(int stuAge) {
	this.stuAge = stuAge;
}

}


3、在asserts目录中新建open_droid.xml文件

\
\

\
\
\

name 指定了数据库的名称, version指定了数据库的版本, mapping指定了需要映射的javabean

4、配置完成后,开始使用:

    /**
	 * step 1 : 插入一条数据, 查询一条数据
	 */
	Student stu = new Student();
	stu.setStuName("亓斌");
	stu.setStuAge(18);
	stu.save();
	
	Student result = OpenDroid.query.find(Student.class, 1);
	System.out.println(result.getStuName());
    
    /**
	 * step 2 : 查询所有记录
	 */
	for(int i=0;i<10;i++) {
		Student stu = new Student();
		stu.setStuAge(20 + i);
		stu.setStuName("opendroid" + i);
		stu.save();
	}
	
	List<Student> result = OpenDroid.query.find(Student.class);
	for(Student res : result) {
		System.out.println(res.getStuName());
	}
    
    /**
	 * step 3 : 查询多条记录
	 */
	List<Student> result = OpenDroid.query.find(Student.class, 1, 5, 10);
	for(Student res : result) {
		System.out.println(res.getId() + " : " + res.getStuName());
	}
    
    /**
	 * step 4 : 条件查询
	 */
	List<Student> result = OpenDroid.query.columns("stuName", "stuAge")
			.where("_id>?", "5").order("_id DESC").limit(3)
			.find(Student.class);
	for(Student res : result) {
		System.out.println(res.getStuName() + " : " + res.getStuAge());
	}
    
    
    /**
	 * step 5 : 更新数据
	 */
	Student stu = new Student();
	stu.setStuName("loader");
	stu.setStuName("loader");
	stu.update(4);
	stu.update("_id>?", "4");
	
	List<Student> result = OpenDroid.query.find(Student.class);
	for(Student res : result) {
		System.out.println(res.getStuName());
	}
    
    /**
	 * step 6 : 使用ContentValues更新
	 */
	ContentValues cv = new ContentValues();
	cv.put("stuName", "opendroid");
	OpenDroid.update(Student.class, cv, "_id=?", "8");
	
	Student result = OpenDroid.query.find(Student.class, 8);
	System.out.println(result.getStuName());
    
    /**
	 * step 7 : 特定删除
	 */
	int length = OpenDroid.delete(Student.class, 1, 2, 3);
	System.out.println(length);
    
    /**
	 * step 8 : 使用条件删除
	 */
	int length = OpenDroid.delete(Student.class, "_id>?", "5");
	System.out.println(length);

项目点评 ( 2 )

你可以在登录后,发表评论

搜索帮助