zoukankan      html  css  js  c++  java
  • 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));

     

      

      

  • 相关阅读:
    jQuery选择器支持正则匹配
    js监听dom元素内容变化
    icon
    arclist 分页
    dede 手机模板 上一篇下一篇 链接错误问题解决办法
    css解决移动端 文字垂直居中问题
    网页即时QQ聊天
    apache ,ip访问的默认页
    swiper初始化
    JQ锚点,平滑滚动
  • 原文地址:https://www.cnblogs.com/sun-yang-/p/5392151.html
Copyright © 2011-2022 走看看