DbUtils.java 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. package com.xzjmyk.pm.basepedo.utils;
  2. import android.content.Context;
  3. import com.litesuits.orm.LiteOrm;
  4. import com.litesuits.orm.db.assit.QueryBuilder;
  5. import com.litesuits.orm.db.model.ConflictAlgorithm;
  6. import com.xzjmyk.pm.activity.ui.erp.util.ListUtils;
  7. import java.util.List;
  8. /**
  9. * Created by xf on 2016/1/31.
  10. */
  11. public class DbUtils {
  12. public static String DB_NAME;
  13. public static LiteOrm liteOrm;
  14. public static void createDb(Context _activity, String DB_NAME) {
  15. DB_NAME = DB_NAME + ".db";
  16. if (liteOrm == null) {
  17. liteOrm = LiteOrm.newCascadeInstance(_activity, DB_NAME);
  18. liteOrm.setDebugged(true);
  19. }
  20. }
  21. public static LiteOrm getLiteOrm() {
  22. return liteOrm;
  23. }
  24. /**
  25. * 插入一条记录
  26. *
  27. * @param t
  28. */
  29. public static <T> void insert(T t) {
  30. liteOrm.save(t);
  31. }
  32. /**
  33. * 插入所有记录
  34. *
  35. * @param list
  36. */
  37. public static <T> void insertAll(List<T> list) {
  38. liteOrm.save(list);
  39. }
  40. /**
  41. * 查询所有
  42. *
  43. * @param cla
  44. * @return
  45. */
  46. public static <T> List<T> getQueryAll(Class<T> cla) {
  47. return liteOrm.query(cla);
  48. }
  49. /**
  50. * 查询 某字段 等于 Value的值
  51. *
  52. * @param cla
  53. * @param field
  54. * @param value
  55. * @return
  56. */
  57. public static <T> List<T> getQueryByWhere(Class<T> cla, String field, String[] value) {
  58. if (!ListUtils.isEmpty(liteOrm.<T>query(new QueryBuilder(cla).where(field + "=?", value)))){
  59. return liteOrm.<T>query(new QueryBuilder(cla).where(field + "=?", value));
  60. }else {
  61. return null;
  62. }
  63. }
  64. /**
  65. * 查询 某字段 等于 Value的值 可以指定从1-20,就是分页
  66. *
  67. * @param cla
  68. * @param field
  69. * @param value
  70. * @param start
  71. * @param length
  72. * @return
  73. */
  74. public static <T> List<T> getQueryByWhereLength(Class<T> cla, String field, String[] value, int start, int length) {
  75. return liteOrm.<T>query(new QueryBuilder(cla).where(field + "=?", value).limit(start, length));
  76. }
  77. /**
  78. * 删除所有 某字段等于 Vlaue的值
  79. * @param cla
  80. * @param field
  81. * @param value
  82. */
  83. // public static <T> void deleteWhere(Class<T> cla,String field,String [] value){
  84. // liteOrm.delete(cla, WhereBuilder.create().where(field + "=?", value));
  85. // }
  86. /**
  87. * 删除所有
  88. *
  89. * @param cla
  90. */
  91. public static <T> void deleteAll(Class<T> cla) {
  92. liteOrm.deleteAll(cla);
  93. }
  94. /**
  95. * 仅在以存在时更新
  96. *
  97. * @param t
  98. */
  99. public static <T> void update(T t) {
  100. liteOrm.update(t, ConflictAlgorithm.Replace);
  101. }
  102. public static <T> void updateALL(List<T> list) {
  103. liteOrm.update(list);
  104. }
  105. public static void closeDb(){
  106. liteOrm.close();
  107. }
  108. }