package com.xzjmyk.pm.basepedo.utils; import android.content.Context; import com.litesuits.orm.LiteOrm; import com.litesuits.orm.db.assit.QueryBuilder; import com.litesuits.orm.db.model.ConflictAlgorithm; import com.xzjmyk.pm.activity.ui.erp.util.ListUtils; import java.util.List; /** * Created by xf on 2016/1/31. */ public class DbUtils { public static String DB_NAME; public static LiteOrm liteOrm; public static void createDb(Context _activity, String DB_NAME) { DB_NAME = DB_NAME + ".db"; if (liteOrm == null) { liteOrm = LiteOrm.newCascadeInstance(_activity, DB_NAME); liteOrm.setDebugged(true); } } public static LiteOrm getLiteOrm() { return liteOrm; } /** * 插入一条记录 * * @param t */ public static void insert(T t) { liteOrm.save(t); } /** * 插入所有记录 * * @param list */ public static void insertAll(List list) { liteOrm.save(list); } /** * 查询所有 * * @param cla * @return */ public static List getQueryAll(Class cla) { return liteOrm.query(cla); } /** * 查询 某字段 等于 Value的值 * * @param cla * @param field * @param value * @return */ public static List getQueryByWhere(Class cla, String field, String[] value) { if (!ListUtils.isEmpty(liteOrm.query(new QueryBuilder(cla).where(field + "=?", value)))){ return liteOrm.query(new QueryBuilder(cla).where(field + "=?", value)); }else { return null; } } /** * 查询 某字段 等于 Value的值 可以指定从1-20,就是分页 * * @param cla * @param field * @param value * @param start * @param length * @return */ public static List getQueryByWhereLength(Class cla, String field, String[] value, int start, int length) { return liteOrm.query(new QueryBuilder(cla).where(field + "=?", value).limit(start, length)); } /** * 删除所有 某字段等于 Vlaue的值 * @param cla * @param field * @param value */ // public static void deleteWhere(Class cla,String field,String [] value){ // liteOrm.delete(cla, WhereBuilder.create().where(field + "=?", value)); // } /** * 删除所有 * * @param cla */ public static void deleteAll(Class cla) { liteOrm.deleteAll(cla); } /** * 仅在以存在时更新 * * @param t */ public static void update(T t) { liteOrm.update(t, ConflictAlgorithm.Replace); } public static void updateALL(List list) { liteOrm.update(list); } public static void closeDb(){ liteOrm.close(); } }