LiteOrm 一行代码实现数据的增删改查

1.添加jar,拷贝DBUtil文件

2.创建bean,实现对表的创建

添加数据:一行搞定

DBUtil.getInstance(this, path).insert(student);

封装liteorm

public class DBUtil {
    private static DBUtil manager;
    private static final String DB_NAME = "remote.db";
    private LiteOrm liteOrm;

    private DBUtil(Context context) {
        if (liteOrm == null) {
            liteOrm = LiteOrm.newCascadeInstance(context, DB_NAME);
        }
    }

    public static DBUtil getInstance(Context context) {
        context = context.getApplicationContext();
        if (manager == null) {
            synchronized (DBUtil.class) {
                if (manager == null) {
                    manager = new DBUtil(context);
                }
            }
        }
        return manager;
    }

    /**
     * 插入一条记录
     */
    public <T> long insert(T t) {
        return liteOrm.save(t);
    }

    /**
     * 插入所有记录
     */
    public <T> void insertAll(List<T> list) {
        liteOrm.save(list);
    }

    /**
     * 根据对象查询数据
     */
    public <T> int update(T t) {
        return liteOrm.update(t);
    }

    /**
     * 查询所有数据
     */
    public <T> int updateAll(List<T> list) {
        return liteOrm.update(list);
    }

    /**
     * 根据id查询
     */
    public <T> T query(long id, Class<T> clazz) {
        return liteOrm.queryById(id, clazz);
    }

    /**
     * 查询所有
     */
    public <T> List<T> queryAll(Class<T> cla) {
        return liteOrm.query(cla);
    }


    /**
     * 查询  某字段 等于 Value的值
     */
    @SuppressWarnings("unchecked")
    public <T> List<T> queryByWhere(Class<T> cla, String field, Object[] value) {
        return liteOrm.query(new QueryBuilder(cla).where(field + "=?", value));
    }

    /**
     * 查询  某字段 等于 Value的值  可以指定从1-20,就是分页
     */
    @SuppressWarnings("unchecked")
    public <T> List<T> queryByWhereLength(Class<T> cla, String field, Object[] value, int start, int length) {
        return liteOrm.query(new QueryBuilder(cla).where(field + "=?", value).limit(start, length));
    }

    /**
     * 删除一个数据
     */
    public <T> void delete(T t) {
        liteOrm.delete(t);
    }

    /**
     * 删除所有数据
     */
    public <T> void deleteAll(Class<T> clazz) {
        liteOrm.deleteAll(clazz);
    }

    /**
     * 删除集合中的数据
     */
    public <T> void deleteList(List<T> list) {
        liteOrm.delete(list);
    }

    /**
     * 删除数据库
     */
    public void deleteDatabase() {
        liteOrm.deleteDatabase();
        manager = null;
        liteOrm = null;
    }
}

猜你喜欢

转载自blog.csdn.net/m0_37143081/article/details/81205265