EasySQL 轻松上手的数据库框架

EasySQL是由我独立开发的一款操作数据库的框架,特点是上手容易,使用简单。

目前版本是 v0.1.4


那么我就开始了,这款框架目前已有的功能如下:

  1. 创建数据库
  2. 删除数据库
  3. 创建表
  4. 增删改查
  5. 数据库自动升级

平时不怎么鼓捣数据库的,用数据库的时候,感觉也就这几个功能哈!

那么我也不按照顺序来介绍这些功能应该怎么实现,我从开发的角度来解释如何使用这个框架吧!

使用

第一步:将其添加到存储库末尾的根build.gradle中:

allprojects {
	repositories {
		maven { url 'https://jitpack.io' }
	}
}

第二步:添加到依赖

dependencies {
     implementation 'com.github.qixuefeng:EasySQL:0.1.4'
}

数据库操作

创建数据库:

// 创建数据库
EasySQL.with(this).createDB(“newdb“);

这里,我们创建了一个数据库名为newdb的数据库文件,这里是不用加.db的,所以只需要输入数据库名字就行了。

EasySQL 轻松上手的数据库框架_第1张图片

多创建几个数据库,提供两种方式:

EasySQL.with(this).createDB("newdb1").createDB("newdb2").createDB("newdb3");
EasySQL.with(this).createDB("newdb1", "newdb2", "newdb3");

这两行的效果其实都一样都,都是创建3个数据库

EasySQL 轻松上手的数据库框架_第2张图片

删除数据库:
删除数据库的方法也很简单:

// 删除数据库 
boolean isSucceed = EasySQL.with(this).deleteDatabase(dbName);

返回boolean类型代表是否删除成功,这个deleteDatabase方法里面也是传数据库名,不带.db,话说可带可不带。

比如我要把刚刚创建的newdb2.db给删了,我就可以:

EasySQL.with(this).deleteDatabase(“newdb2“);
EasySQL 轻松上手的数据库框架_第3张图片

查看数据库:
如果我们要查看已经创建了多少数据库了,我们可以使用如下代码:

// 查看所有数据库
ArrayList dbList = EasySQL.with(this).listName();

使用数据库:

使用指定数据库的代码是:

// 使用指定数据库
EasySQL.with(context).use(dbName);

使用指定数据库能干嘛呢,相当于决定使用了该数据库,这个时候,就可以在数据库中作新建表之类的操作了。

创建表:

创建表之前,需要新建一个实体类,并且这个实体类需要继承EasyTable类,比如:

public class StudentTable extends EasyTable {

    private String name;

    private int age;

    private String addr;

    public String getName() {
        return name;
    }

    public StudentTable setName(String name) {
        this.name = name;
        return this;
    }

    public int getAge() {
        return age;
    }

    public StudentTable setAge(int age) {
        this.age = age;
        return this;
    }

    public String getAddr() {
        return addr;
    }

    public StudentTable setAddr(String addr) {
        this.addr = addr;
        return this;
    }

    @Override
    public String toString() {
        return "StudentTable{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", addr='" + addr + '\'' +
                '}';
    }
}

这里有一点需要注意,EasySQL支持的数据类型一共有9种,对应:

Byte
Long
Short
Integer
Float
Double
String
Boolean
byte[]

而且实体类必须要有一个无参的构造方法方可生效。

既然实体类已经有了,那么怎么创建表呢,很简单:

// 创建表:
EasySQL.with(this).use(dbname).createTable(StudentTable.class)
// 连续创建表2种方式:
EasySQL.with(this).use(dbname).createTable(StudentTable.class).createTable(xxx.class);
EasySQL.with(this).use(dbname).createTable(xxx.class, xxx.class, xxx.class);

删除表:
删除表就显的简单多了:

// 删除表
EasySQL.with(context).use(dbName).deleteTable(StudentTable.class); 

表操作

增:
新增数据到表中,我们需要用到一个EasyEntity类,这个类主要是起到一个打包作用,将数据打包成一个EasyEntity,然后将这个包裹丢给EasySQL,这样做的好处是,不局限只保存将一种数据保证到一个表中,可以同时添加多个表中的多个数据,具体操作是:

EasyEntity easyEntity = new EasyEntity();
easyEntity
    .add(new StudentTable().setName("张三").setAge(18).setAddr("北京"))
    .add(new StudentTable().setName("李四").setAge(22).setAddr("上海"));
    
    // 不仅可以添加StudentTable表的数据,还可以添加其他表的数据
    
EasySQL.with(this).use(dbname).save(easyEntity);

比如这里我们新增了2条数据

EasySQL 轻松上手的数据库框架_第4张图片

删:
删除数据就很简单了:

// 后面的两个参数跟Android自带的参数用法基本一样,这里即为删除名字为李四的数据
EasySQL.with(context).use(dbName).delete(StudentTable.class, "name = ?", "李四");

// 清空表中所有数据
EasySQL.with(context).use(dbName).clearTable(StudentTable.class);

改:
修改数据也十分简单:

StudentTable studentTable = new StudentTable().setName("老李四").setAge(89).setAddr("老上海");
EasySQL.with(this).use(dbname).update(studentTable, "name = ?", new String[]{"李四"});

新的实例替换老的实例即可,条件判断跟Android自带的参数用法一样

查:

现在我们来说说查询的方法,这里提供了很多种查询的方式,不过都归类为一个API:

ArrayList studentTables = 
		EasySQL.with(this).use(dbname).retrieve(各种参数);

retrieve的参数确实非常多,不过灵活性也是及其高的,如图:

EasySQL 轻松上手的数据库框架_第5张图片

这里就介绍第一个和最后一个,第一个,如果你查询数据的时候,没什么限制,只是单纯的想得到所有数据,那么只含有一个参数的方法十分适合你,现在我来讲讲参数最多的这个方法:

retrieve(Class classzz, String[] columns, String selection, String[] selectionArgs, String field, boolean isAsc)

一共有6个参数:

Class classzz 待查询的表
String[] columns 需要被查询的字段
String selection 查询条件,如:name = ?
String[] selectionArgs 查询条件的值,如:new String[]{"李四"}
String field 根据哪个字段排序
boolean isAsc 是否升序,是:升序;否:降序

选择灵活,可以随意选择搭配。

数据库升级

关于数据库的升级,EasySQL是十分便捷的,如果是需要新增字段,只需要在原来的表中新增字段,如:

public class StudentTable extends EasyTable {

    private String name;

    private int age;

    private String addr;

    // 新增的字段
    private String gender;

    public String getName() {
        return name;
    }

    public StudentTable setName(String name) {
        this.name = name;
        return this;
    }

    public int getAge() {
        return age;
    }

    public StudentTable setAge(int age) {
        this.age = age;
        return this;
    }

    public String getAddr() {
        return addr;
    }

    public StudentTable setAddr(String addr) {
        this.addr = addr;
        return this;
    }

    public String getGender() {
        return gender;
    }

    public StudentTable setGender(String gender) {
        this.gender = gender;
        return this;
    }

}

然后调用:

EasySQL.with(this).updateAllTable("newdb1");

数据库中的表就得到了升级:
EasySQL 轻松上手的数据库框架_第6张图片

是不是很方便呢,不过还有更方便的,我们可以使用:

// 更新所有数据库中的所有表
EasySQL.with(this).updateAllTable();

我们甚至可以将这句话写到Application中,以后就可以自动更新表字段之类的了,直接去修改实体类结构即可,完全不用考虑什么更新啊,版本之类的东西,是不是这样就更方便了

最后

EasySQL可以通过少量的操作,就可以对数据库进行指点江山,升级数据库也不需要考虑数据库版本的问题,尽量给大家带来简洁明了的感觉,目前EasySQL的功能相对比较基础,不过大部分常见的功能都支持,在往后的日子里,相信EasySQL会有更多的功能,希望大家支持!

EasySQL开源地址:https://github.com/qixuefeng/EasySQL

你可能感兴趣的:(EasySQL)