OrmLite


  • 依赖:

    compile 'com.j256.ormlite:ormlite-android:5.0'

  • model

@DatabaseTable(tableName = CRM_DT_BAOGAO_FB4.TABLE_NAME)
public class CRM_DT_BAOGAO_FB4 {


    public CRM_DT_BAOGAO_FB4() {
    }

    @Override
    public String toString() {
        return super.toString();
    }

    public static final String TABLE_NAME = "CRM_DT_BAOGAO_FB4";



    @DatabaseField(columnName = "JYJL_ID")
    private String JYJL_ID;

    @DatabaseField(columnName = "ATT1")
    private String ATT1;



    public String getJYJL_ID() {
        return JYJL_ID;
    }

    public void setJYJL_ID(String JYJL_ID) {
        this.JYJL_ID = JYJL_ID;
    }

    public String getATT1() {
        return ATT1;
    }

    public void setATT1(String ATT1) {
        this.ATT1 = ATT1;
    }
}

  • DatabaseHelper 创建表
@Override
    public void onCreate(SQLiteDatabase sqLiteDatabase, ConnectionSource connectionSource) {

        Log.d("myorm", "表开始新建");
        try {
            
            TableUtils.createTable(connectionSource, CRM_DT_BAOGAO_FB1.class);  //附录
           
            Log.d("MyOrm", "表创建成功");
        } catch (SQLException e) {
            Log.d("MyOrm", "表创建失败");
            e.printStackTrace();
        }
    }


  • Dao
public class CRM_DT_BAOGAO_FB4_Dao extends BaseDao<CRM_DT_BAOGAO_FB4,Integer> {
    public CRM_DT_BAOGAO_FB4_Dao(Context context) {
        super(context);
    }

    @Override
    public Dao<CRM_DT_BAOGAO_FB4, Integer> getDao() {

        try {
            return getHelper().getDao(CRM_DT_BAOGAO_FB4.class);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return null;
    }
}
public abstract class BaseDao<T, ID> {

    private DatabaseHelper helper;

    public BaseDao(Context context) {
        helper = DatabaseHelper.getInstance(context);
    }

    public DatabaseHelper getHelper() {
        return helper;
    }

    //两个泛型约束 一个是对应的实体类类型,一个是主键类型
    public abstract Dao<T, ID> getDao();


    //条件查询
    public List<T> queryForEq(String fieldName, Object value) {

        List<T> list = new ArrayList<>();
        try {
            list = getDao().queryForEq(fieldName, value);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return list;
    }


    public int add(T t) {
        try {
            return getDao().create(t);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return -1;
    }

    public int addList(List<T> list){
        try {
            return getDao().create(list);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return -1;
    }

    public List<T> getAll(){
        List<T> list = new ArrayList<>();
        try {
            list = getDao().queryForAll();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return list;
    }


    public T get(ID id){
        try {
            return getDao().queryForId(id);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return null;
    }

    //会全部更新 方法很蠢 前提获取所有字段信息 遗弃不用
    public int update(T t){
        try {
            return getDao().update(t);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return -1;
    }


    //在DAO的函数不满足你的灵活性时,可能要用到原生更新语句,更新语句必须包含保留关键字 INSERT, DELETE,或者UPDATE,
    //(sql语句,参数)
    //String...  可变长度参数列表 new String[]{"",""}
    public int updateRaw(String statement,String... arguments) {

        try {
            return getDao().updateRaw(statement, arguments);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return -1;
    }



    //更新ID,其他值不变
    public int updateId(T t, ID id) {
        try {
            return getDao().updateId(t, id);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return -1;
    }


    /**
     * 删除该id的数据
     */
    public int delete(ID id){
        try {
            return getDao().deleteById(id);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return -1;
    }


    /**
     * 删除所有
     */
    public int deleteAll() {

        try {
            return getDao().deleteBuilder().delete();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return -1;
    }






}

  • 操作数据表
CRM_DT_BAOGAO_FB4_Dao dao4 = new CRM_DT_BAOGAO_FB4_Dao(getActivity());
        List<CRM_DT_BAOGAO_FB4> list4 = new ArrayList<>();
        list4 = dao4.queryForEq("JYJL_ID", ID);
        if (list4.size() != 0) {
            table.setATT1(list4.get(0).getATT1() == null ? "" : list4.get(0).getATT1());

        }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿姨不可以嘛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值