项目作者: wenjiang

项目描述 :
Android上比较简单的基于SQLite的ORM框架
高级语言: Java
项目地址: git://github.com/wenjiang/SimpleAndroidORM.git
创建时间: 2015-03-28T08:59:23Z
项目社区:https://github.com/wenjiang/SimpleAndroidORM

开源协议:

下载


SimpleAndroidORM

Android上比较简单的基于SQLite的ORM框架

使用注意事项

使用前,先在assets文件夹下创建database.xml文件,在该文件中配置数据库:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <database>
  3. <!-- 数据库名称 -->
  4. <dbname value="zwb.db"></dbname>
  5. <!-- 数据库版本 -->
  6. <version value="1"></version>
  7. <!-- 数据库表 -->
  8. <list>
  9. <mapping class="com.zwb.simple.db.model.Status"></mapping>
  10. <mapping class="com.zwb.simple.db.model.User"></mapping>
  11. </list>
  12. </database>

然后创建一个BaseTable的子类:

  1. @Table(table = "status")
  2. public class Status extends BaseTable {
  3. @Column
  4. @ColumnType(ColumnType = "String")
  5. private JSONObject text;
  6. @Column
  7. private int age;

@Table指定该model对应的表,@Column指定字段对应的数据库的列,如果字段类型和数据库的类型有出入,用ColumnType指定数据库类型

使用前要先调用代码:

  1. DatabaseStore.getInstance().init(this);

接着在代码中这样使用:

保存数据:

  1. List<Status> statuses = new ArrayList<Status>();
  2. for (int i = 0; i < 10; i++) {
  3. Status status = new Status();
  4. try {
  5. JSONObject json = new JSONObject();
  6. json.put("name", "xbs");
  7. status.setText(json);
  8. } catch (JSONException e) {
  9. LogUtil.e(e.toString());
  10. }
  11. status.setAge(20);
  12. statuses.add(status);
  13. }
  14. try {
  15. DatabaseStore.getInstance().saveAll(statuses);
  16. // status.save();
  17. } catch (Exception e) {
  18. LogUtil.e(e.toString());
  19. }

查询数据:

  1. try {
  2. List<Status> statusEntities = (List<Status>) DatabaseStore.getInstance().from("status").findAll(Status.class);
  3. for (Status entity : statusEntities) {
  4. LogUtil.e(entity.getText().toString() + ":" + entity.getAge());
  5. }
  6. } catch (BaseSQLiteException e) {
  7. LogUtil.e(e.toString());
  8. }

这样就能找出Status这张表中的所有的数据。
删除数据:

  1. DatabaseStore.from("status").deleteAll("name", "张三");

这样就能删除Status这张表中name字段为张三的数据。

  1. status.delete();

表示删除该记录。

其他的用法可以看具体的源码,后面会继续补充钙文档。