ChildInfoDao.java 2.46 KB
package com.shunzhi.parent.db;

import android.content.Context;

import com.j256.ormlite.dao.Dao;
import com.j256.ormlite.stmt.DeleteBuilder;
import com.j256.ormlite.stmt.QueryBuilder;
import com.shunzhi.parent.bean.ChildBean;
import com.shunzhi.parent.util.DatabaseHelper;

import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

/**
 * Created by Administrator on 2018/4/19 0019.
 */

public class ChildInfoDao {
    private Context context;
    private DatabaseHelper databaseHelper;
    private Dao<ChildBean, Integer> dao;

    public ChildInfoDao(Context context) {
        this.context = context;
        try {
            databaseHelper = DatabaseHelper.getHelper(context);
            dao = databaseHelper.getDao(ChildBean.class);
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    public boolean createOrUpdate(ChildBean childBean){
        try {
            return dao.createOrUpdate(childBean).getNumLinesChanged() > 0;
        } catch (SQLException e) {
            e.printStackTrace();
            return false;
        }
    }


    public boolean onCreate(ChildBean childBean) {
        try {
            return dao.create(childBean) > 0;
        } catch (SQLException e) {
            e.printStackTrace();
            return false;
        }
    }

    public boolean deleteAll(){
        try {
            DeleteBuilder builder = dao.deleteBuilder();
            return dao.delete(builder.prepare())>0;
        } catch (SQLException e) {
            e.printStackTrace();
            return false;
        }
    }
    public synchronized List<ChildBean> getAllChildren() {
        List<ChildBean> children = null;
        try {
            children = dao.queryForAll();
            if (children != null && children.size() > 0) return children;
        } catch (SQLException e) {
            e.printStackTrace();
            return new ArrayList<>();
        }
        return new ArrayList<>();
    }


    public synchronized ChildBean getChildBystudentId(int studentId) {
        QueryBuilder queryBuilder = dao.queryBuilder();
        try {
            queryBuilder.where().eq("studentId", studentId);
            List<ChildBean> list = dao.query(queryBuilder.prepare());
            ChildBean studentInfo = list.get(0);
            return studentInfo;
//            return dao.queryForFirst(queryBuilder.prepare());
        } catch (SQLException e) {
            e.printStackTrace();
            return null;
        }
    }

    }