EasyDB

基于ORMLite封装的数据库操作工具类

GitHub:https://github.com/MrZhousf/EasyDB

功能点

  • 支持主键、索引
  • 支持增、删、改、查
  • 支持多条件查询、排序、统计
  • 支持分页查询,分页查询只需要定义每页条数即可
  • 支持批量处理
  • 支持数据库升级,使数据库升级更为简洁
  • 完整的日志
  • 后续优化中...

引用方式

Maven

<dependency>
  <groupId>com.zhousf.lib</groupId>
  <artifactId>easydb</artifactId>
  <version>1.2</version>
  <type>pom</type>
</dependency>

Gradle

compile 'com.zhousf.lib:easydb:1.2'

提交记录

  • 2016-12-15 项目提交

项目演示DEMO

项目中已包含所有支持业务的demo,详情请下载项目参考源码。

自定义数据库单例

单例模式防止频繁打开关闭数据库,从而导致数据操作性能下降,甚至出现一些异常错误。 自定义数据库单例继承BaseDBHelper,BaseDBHelper进行数据库操作的缓存管理

// 数据库辅助类
public class EasyDBHelper extends BaseDBHelper {

    //版本号
    private static final int DB_VERSION = 2;

    //数据库名称
    private static final String DB_NAME = "easy_android.db";

    //数据表清单
    private static final Class<?>[] tables = {
        SimpleData.class
    };

    private static EasyDBHelper helper = null;

    public static EasyDBHelper get(){
        if(null == helper){
            synchronized (EasyDBHelper.class){
                if(null == helper){
                    helper = new EasyDBHelper();
                }
            }
        }
        return helper;
    }

    public EasyDBHelper() {
        super(BaseApplication.getApplication(),DB_NAME, null, DB_VERSION, tables);
    }

    @Override
    protected BaseDBHelper initHelper() {
        return get();
    }

    @Override
    protected boolean upgrade(int oldVersion, int newVersion) throws SQLException {
        if(oldVersion < 2){
            //增加字段ext
            getDao(SimpleData.class).executeRaw("ALTER TABLE'simpledata' ADD COLUMN ext TEXT DEFAULT 'default';");
        }
        return true;
    }

}

数据库操作方法

//获取数据库操作接口
BaseDao<SimpleData> dao = EasyDBHelper.get().dao(SimpleData.class);

//增加
int line = dao.create(new SimpleData(1,"信息1"));

//查询所有
List<SimpleData> list = dao.queryForAll();

//多条件查询并排序
List<SimpleData> list = dao.query(DBInfo.get().where("group1",true).where("group1",true).order("id", false));

//分页查询-每页5条
DBInfo info = DBInfo.get().limit(5);
List<SimpleData> list = dao.queryLimit(info);//第一页查询
list = dao.queryLimit(info);//第二页查询

//更新
dao.update(data)

//删除
dao.delete(data)

//条目统计
long num = dao.countOf(DBInfo.get().where("group1", true));

相关截图

基本操作界面

有问题反馈

在使用中有任何问题,欢迎反馈给我,可以用以下联系方式跟我交流

  • QQ: 424427633

感激

感谢以下的项目,排名不分先后

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐