当前位置: 首页 > 工具软件 > NeoDatis ODB > 使用案例 >

一个neodatis-odb.jar包使用的例子

祁远
2023-12-01

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.neodatis.odb.ODB;
import org.neodatis.odb.ODBFactory;
import org.neodatis.odb.Objects;
import org.neodatis.odb.core.query.IQuery;
import org.neodatis.odb.core.query.criteria.Where;
import org.neodatis.odb.impl.core.query.criteria.CriteriaQuery;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import bee.besta.timer.data.TimeRunnerData;

public class ODBUtil {
    private String ODB_NAME = "E://" + "data.odb";

    private static final Logger logger = LoggerFactory.getLogger("ODBUtil.class");

    public static void main(String[] args) {
        ODBUtil util = new ODBUtil();

        // 新增
        // TimeRunnerData timeRunner = new TimeRunnerData();
        // timeRunner.setTimerId("8a925e95444932ce014449437a890021");
        // timeRunner.setBusinessId(BusinessId.SENDPACKAGEDATAMSG_BID);
        // Map<String, Object> paramMap = new HashMap<String, Object>();
        // paramMap.put("taskId", "8a925e95444932ce014449437a890021");
        // paramMap.put("tableName", "");
        // paramMap.put("startTime", "");
        // paramMap.put("endTime", "");
        // paramMap.put("endTime", "");
        // paramMap.put("exchageCode", "");
        // timeRunner.setParamMap(paramMap);
        // timeRunner.setStartTime(DateUtil.getFormatStartDate("2014-02-02"));
        // timeRunner.setEndTime(DateUtil.getFormatEndDate("2014-02-28"));
        // timeRunner.setCronExpression("0/1 * * * * ?");
        // util.addTimeRunner(timeRunner);

        // 修改
        // ProviderTask task = new ProviderTask();
        // task.setTaskId("8a925d244357385d01435790c19400a4");
        // task.setStartTime("2014-01-06");
        // task.setEndTime("2014-01-08");
        // task.setCronExp("0/10 * * * * ?");
        // util.updateTimeRunnerTask(task);

        // 删除
        // util.removeTimeRunner("8a925d1843c310e30143c31f86660053");

        // 查询
        List<TimeRunnerData> list = util.getTimeRunnerList();
        // System.out.println(list);
        for (TimeRunnerData timeRunners : list) {
            System.out.println("---------------------");
            System.out.println(timeRunners.getTimerId());
            System.out.println(timeRunners.getBusinessId());
            System.out.println(timeRunners.getCronExpression());
            System.out.println(timeRunners.getStartTime());
            System.out.println(timeRunners.getEndTime());
            System.out.println(timeRunners.getState());
        }

    }

    public List<TimeRunnerData> getTimeRunnerList() {
        ODB odb = null;
        try {
            odb = ODBFactory.open(ODB_NAME);
            IQuery query = new CriteriaQuery(TimeRunnerData.class);
            List<TimeRunnerData> reList = new ArrayList<TimeRunnerData>();
            Objects<TimeRunnerData> list = odb.getObjects(query);
            if (list != null) {
                for (TimeRunnerData timeRunner : list) {
                    reList.add(timeRunner);
                }
            }
            return reList;
        } catch (Exception e) {
            logger.error("getTimeRunnerList error", e);
        } finally {
            if (odb != null) {
                odb.close();
            }
        }
        return null;
    }

    public boolean removeTimeRunner(String timerId) {
        ODB odb = null;
        try {
            odb = ODBFactory.open(ODB_NAME);
            IQuery query = new CriteriaQuery(TimeRunnerData.class, Where.equal("timerId", timerId));
            Objects<TimeRunnerData> timeRunners = odb.getObjects(query);
            if (timeRunners != null && timeRunners.size() > 0) {
                odb.delete(timeRunners.getFirst());
            }
            return true;
        } catch (Exception e) {
            logger.error("removeTimeRunner error", e);
        } finally {
            if (odb != null) {
                odb.close();
            }
        }
        return false;
    }

    public TimeRunnerData addTimeRunner(TimeRunnerData timer) {
        ODB odb = null;
        try {
            odb = ODBFactory.open(ODB_NAME);
            odb.store(timer);
        } finally {
            if (odb != null) {
                odb.close();
            }
        }
        return timer;
    }

    public boolean updateTimeRunner(String timerId, int state) {
        ODB odb = null;
        try {
            odb = ODBFactory.open(ODB_NAME);
            IQuery query = new CriteriaQuery(TimeRunnerData.class, Where.equal("timerId", timerId));
            Objects<TimeRunnerData> timeRunners = odb.getObjects(query);
            if (timeRunners != null && timeRunners.size() > 0) {
                TimeRunnerData oldData = timeRunners.getFirst();
                odb.delete(oldData);
                oldData.setTimerId(timerId);
                oldData.setState(state);
                odb.store(oldData);
            }
            return true;
        } catch (Exception e) {
            logger.error("updateTimeRunner error", e);
        } finally {
            if (odb != null) {
                odb.close();
            }
        }
        return false;
    }

    public boolean updateTimeRunnerTask(ProviderTask task) {
        ODB odb = null;
        try {
            odb = ODBFactory.open(ODB_NAME);
            IQuery query = new CriteriaQuery(TimeRunnerData.class, Where.equal("timerId", task.getTaskId()));
            Objects<TimeRunnerData> timeRunners = odb.getObjects(query);
            if (timeRunners != null && timeRunners.size() > 0) {
                TimeRunnerData oldData = timeRunners.getFirst();
                odb.delete(oldData);
                oldData.setTimerId(task.getTaskId());
                oldData.setBusinessId(BusinessId.SENDPACKAGEDATAMSG_BID);
                Map<String, Object> paramMap = new HashMap<String, Object>();
                paramMap.put("taskId", task.getTaskId());
                paramMap.put("startTime", "");
                paramMap.put("endTime", "");
                oldData.setParamMap(paramMap);
                oldData.setStartTime(DateUtil.getFormatStartDate(task.getStartTime()));
                oldData.setEndTime(DateUtil.getFormatEndDate(task.getEndTime()));
                oldData.setCronExpression(task.getCronExp());
                odb.store(oldData);
            }
            return true;
        } catch (Exception e) {
            logger.error("updateTimeRunnerTask error", e);
        } finally {
            if (odb != null) {
                odb.close();
            }
        }
        return false;
    }
}

 类似资料: