|
@@ -0,0 +1,132 @@
|
|
|
+package com.sunwin.visitorapp.manage;
|
|
|
+
|
|
|
+
|
|
|
+import android.content.Context;
|
|
|
+import android.os.Environment;
|
|
|
+
|
|
|
+
|
|
|
+import com.litesuits.orm.LiteOrm;
|
|
|
+import com.litesuits.orm.db.assit.QueryBuilder;
|
|
|
+
|
|
|
+import java.io.File;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+import timber.log.Timber;
|
|
|
+
|
|
|
+/**
|
|
|
+ * Title:
|
|
|
+ * Description:
|
|
|
+ * <p>
|
|
|
+ * Created by pei
|
|
|
+ * Date: 2017/11/22
|
|
|
+ */
|
|
|
+public class OrmDBHelper {
|
|
|
+
|
|
|
+ private static LiteOrm mLiteOrm;
|
|
|
+ private static final boolean isOpenOrmLog=true;// whether open the log
|
|
|
+
|
|
|
+ //orm数据库相关
|
|
|
+ private static final String ORM_DB_NAME="VisitorApp/VisitorApp.db";//orm数据库文件名,默认地址
|
|
|
+// private final String ORM_DB_NAME= SDCardUtil.getInnerSDCardPath()+"student.db";//orm数据库文件名,自定义地址
|
|
|
+
|
|
|
+
|
|
|
+ public static void init(Context context){
|
|
|
+ File sdPath = Environment.getExternalStorageDirectory();
|
|
|
+ mLiteOrm = LiteOrm.newSingleInstance(context, sdPath.getAbsolutePath()+File.pathSeparator+ORM_DB_NAME);
|
|
|
+ mLiteOrm.setDebugged(isOpenOrmLog); // open the log
|
|
|
+ }
|
|
|
+
|
|
|
+ /**获取orm数据库对象**/
|
|
|
+ public static LiteOrm getOrmDataBase(){
|
|
|
+ return mLiteOrm;
|
|
|
+ }
|
|
|
+
|
|
|
+ //插入
|
|
|
+ public static <T> long insert(T t) {
|
|
|
+ return getOrmDataBase().insert(t);
|
|
|
+ }
|
|
|
+
|
|
|
+ //插入or更新
|
|
|
+ public static <T> long save(T t) {
|
|
|
+ return getOrmDataBase().save(t);
|
|
|
+ }
|
|
|
+
|
|
|
+ /***
|
|
|
+ * 更新
|
|
|
+ */
|
|
|
+ public static <T> void update(T t){
|
|
|
+ getOrmDataBase().update(t);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 插入所有记录
|
|
|
+ * @param list
|
|
|
+ */
|
|
|
+ public static <T> void insertAll(List<T> list) {
|
|
|
+ getOrmDataBase().save(list);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询所有
|
|
|
+ * @param cla
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static <T> List<T> getQueryAll(Class<T> cla) {
|
|
|
+ return getOrmDataBase().query(cla);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询 某字段 等于 Value的值
|
|
|
+ * @param cla
|
|
|
+ * @param field
|
|
|
+ * @param value
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static <T> List<T> getQueryByWhere(Class<T> cla, String field, Object[] value) {
|
|
|
+ return getOrmDataBase().<T>query(new QueryBuilder(cla).where(field + "=?", value));
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询 某字段 等于 Value的值 可以指定从1-20,就是分页
|
|
|
+ * @param cla
|
|
|
+ * @param field
|
|
|
+ * @param value
|
|
|
+ * @param start
|
|
|
+ * @param length
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static <T> List<T> getQueryByWhereLength(Class<T> cla, String field, Object[] value, int start, int length) {
|
|
|
+ return getOrmDataBase().<T>query(new QueryBuilder(cla).where(field + "=?", value).limit(start, length));
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 删除一个数据
|
|
|
+ * @param t
|
|
|
+ * @param <T>
|
|
|
+ */
|
|
|
+ public static <T> void delete( T t){
|
|
|
+ getOrmDataBase().delete( t ) ;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 删除一个表
|
|
|
+ * @param cla
|
|
|
+ * @param <T>
|
|
|
+ */
|
|
|
+ public static <T> void delete( Class<T> cla ){
|
|
|
+ getOrmDataBase().delete( cla );
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 删除集合中的数据
|
|
|
+ * @param list
|
|
|
+ * @param <T>
|
|
|
+ */
|
|
|
+ public static <T> void deleteList( List<T> list ){
|
|
|
+ getOrmDataBase().delete( list ) ;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+}
|
|
|
+
|