Skip to content

wanxianliang/react-native-sqlite-tool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

react-native-sqlite-tool

This repository is based on react-native-sqlite-storage, you should install and link react-native-sqlite-storage first

Installation

 npm install --save react-native-sqlite-tool

Then follow the instructions to use react-native-sqlite-tool;

Steps

  1. Create a class for one table

    import { SqlLite } from "react-native-sqlite-tool";
    //if you use typescript
    export interface T {
        //primary key
        id?: string;
        value?: string;
    }
    //Set primaryKey dbName tableName createTableSql
    class DemoSql extends SqlLite<T> {
        primaryKey = "id";
        dbName = "default.db";
        tableName = "todo";
        createTableSql = `CREATE TABLE IF NOT EXISTS todo (
            id  varchar(32) NOT NULL,
            value varchar(255) DEFAULT NULL,
            PRIMARY KEY (id)
        )`;
        constructor() {
            super();
            //important
            this.init();
        }
    }
    
    export const DemoSqlInstance = new DemoSql();
  2. You can use follow apis

    insert(item: T): Promise;

    import { demoSqlInstance } from "./Demo";
    export interface T {
        //primary key
        id?: string;
        value?: string;
    }
    class Todo {
        insert(item: T) {
            return demoSqlInstance.insert(item);
        }
    }

    updateByCondition(newParams: T, conditionParams: T): Promise;

    const item={value:"new value"}
    demoSqlInstance.updateByCondition(item,{id:"123"})

    updateByPrimaryKey(newParams:T): Promise

    const item = { id: "123", value: "new value" }
    demoSqlInstance.updateByPrimaryKey(item);

    deleteByPrimaryKey(primaryValue: any): Promise

    demoSqlInstance.deleteByPrimaryKey("123")

    selectByPrimaryKey(primaryValue: any): Promise<T | null>

    demoSqlInstance.selectByPrimaryKey("123")

    select(selectSql?: string, orderSql?: string): Promise<[] | T[]>

    demoSqlInstance.select()
    demoSqlInstance.select("id=123")
    demoSqlInstance.select("id=123","create_time desc")

    selectOne(selectSql?: string): Promise<T | null>

    demoSqlInstance.selectOne("id=123")

    selectBySql(selectSql: string): Promise<T[]>

    demoSqlInstance.selectBySql("select * from todo where id='123' order by create_time desc")

    executeSql(sql: string): Promise

    demoSqlInstance.executeSql("select * from todo where id='123' order by create_time desc")

If you like this tool, please add a star to my Github Repo. Thanks!

That's all. Enjoy! :)

About

a easy way to use sqlite in react native

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published