MetaHistoryDAO.java 1.7 KB
Newer Older
K
kaimingwan 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13
package com.alibaba.otter.canal.parse.inbound.mysql.tsdb.dao;

import java.util.HashMap;
import java.util.List;

import com.google.common.collect.Maps;

/**
 * canal数据的存储
 *
 * @author wanshao 2017年7月27日 下午10:51:55
 * @since 3.2.5
 */
A
agapple 已提交
14
@SuppressWarnings("deprecation")
A
agapple 已提交
15
public class MetaHistoryDAO extends MetaBaseDAO {
K
kaimingwan 已提交
16

A
agapple 已提交
17
    public Long insert(MetaHistoryDO metaDO) {
18
        return getSqlSession().getMapper(MetaHistoryMapper.class).insert(metaDO);
K
kaimingwan 已提交
19 20
    }

A
agapple 已提交
21 22 23 24 25
    public List<MetaHistoryDO> findByTimestamp(String destination, Long snapshotTimestamp, Long timestamp) {
        HashMap params = Maps.newHashMapWithExpectedSize(2);
        params.put("destination", destination);
        params.put("snapshotTimestamp", snapshotTimestamp == null ? 0L : snapshotTimestamp);
        params.put("timestamp", timestamp == null ? 0L : timestamp);
26
        return getSqlSession().getMapper(MetaHistoryMapper.class).findByTimestamp(params);
K
kaimingwan 已提交
27 28
    }

A
agapple 已提交
29
    public Integer deleteByName(String destination) {
K
kaimingwan 已提交
30
        HashMap params = Maps.newHashMapWithExpectedSize(2);
A
agapple 已提交
31
        params.put("destination", destination);
32
        return getSqlSession().getMapper(MetaHistoryMapper.class).deleteByName(params);
K
kaimingwan 已提交
33 34 35 36 37
    }

    /**
     * 删除interval秒之前的数据
     */
38
    public Integer deleteByTimestamp(String destination, int interval) {
K
kaimingwan 已提交
39
        HashMap params = Maps.newHashMapWithExpectedSize(2);
A
agapple 已提交
40
        long timestamp = System.currentTimeMillis() - interval * 1000;
41 42
        params.put("timestamp", timestamp);
        params.put("destination", destination);
43
        return getSqlSession().getMapper(MetaHistoryMapper.class).deleteByTimestamp(params);
A
agapple 已提交
44 45 46
    }

    protected void initDao() throws Exception {
A
agapple 已提交
47
        initTable("meta_history");
K
kaimingwan 已提交
48 49
    }
}