quicksqlite简介

 

简介

  github地址: https://github.com/Sunyang0511/quicksqlite

  quicksqlite是一款基于android sqlite数据库的ORM框架,它被创建的目的就是为了简化android上操作sqlite数据库的步骤,让android程序员在使用sqlite时不用去关注表的结构,把注意力集中在业务实现上,从而提高开发效率,从此告别加班~

  这个开源库起源于我平时工作时自己写的一个sqlitehelper类,一个简单的把对象转为对应的sql语句的工具类,在业务简单的情况下它工作的很好,帮我节省了不少时间,但是随着业务复杂度的飙升,维护数据库表让我越来越痛苦,每次改动数据库表之后都要书写大段的注释来说明表结构,还要改动对应的旧的数据模型。为什么这一切不能自动完成呢,于是我就扩展了工具类,写出了这个库.

      设计库的时候我借鉴了微软的EF库的CodeFirst思想,即从代码生成数据表。具体思路就是在项目中定义好model类,然后在执行增删改查时从model推导出数据库中对应表的结构,然后生成对应sql语句并执行。

  目前我已经实现了model到单数据表的推导,即一个model对应一张表。下一版本目标是实现model到视图的推导,即从model中推导出多张表及它们之间的关系。

 

 

特色

  基于model的增删改查。隐形的数据表操作,只要在代码里建立model,即可使用增删改查,只需专注于业务,不用关心表的维护。

  

如何引用

  Maven

  <dependency>
    <groupId>com.sunyang.quicksqlite</groupId>
    <artifactId>quicksqlite</artifactId>
    <version>1.0.0</version>
    <type>pom</type>
  </dependency>

  Gradle

  dependencies {
      compile 'com.sunyang.quicksqlite:quicksqlite:1.0.0'
  }   

 

简单示例

  

insert:
    TestModel test = new TestModel();
    test.setField1("测试字段1");
    test.setField2(2);
    test.setField3(3D);
    SqliteHelper.getInstance().set(test);//数据库中会自动生成包含TestModel中所有字段的数据表

query:
    //使用Query查询链生成查询,不用考虑表是否存在,没有异常,不会报错,只要做好null值处理即可.
  //目前只支持<,>,=,!=,>=,<=等操作符 List<TestModel> temp = SqliteHelper.getInstance().get(TestModel.class, Query.build(). filter("field2", "=", 2)); if (temp != null && temp.size() > 0) tv.setText(temp.get(0).getField1()); update: TestModel test = new TestModel(); test.setField1("字段全部修改了"); test.setField2(2); test.setField3(26D); //全量更新模式,所有字段均会被更新到数据库中 SqliteHelper.getInstance().update(test, Query.build().filter("field2", "=", 2)); //指定更新模式,使用Update类指定需要更新字段 SqliteHelper.getInstance().update(TestModel.class, Update.build(). update("field1","更新指定字段"),Query.build().filter("field2","=",2)); delete: //删除指定表指定字段,query传null则清空表数据 SqliteHelper.getInstance().delete(TestModel.class, Query.build().filter("field2", "=", 2));

 

  

  

posted on 2016-04-14 18:13  Sun_Yang_  阅读(234)  评论(0编辑  收藏  举报

导航