141 lines
3.7 KiB
Java
141 lines
3.7 KiB
Java
package com.celnet.datadump.mapper;
|
||
|
||
import com.celnet.datadump.param.SalesforceParam;
|
||
import cn.hutool.json.JSONObject;
|
||
import org.apache.ibatis.annotations.Mapper;
|
||
import org.apache.ibatis.annotations.Param;
|
||
|
||
import java.util.Collection;
|
||
import java.util.List;
|
||
import java.util.Map;
|
||
|
||
/**
|
||
* @author Red
|
||
* @description
|
||
* @date 2022/09/27
|
||
*/
|
||
@Mapper
|
||
public interface CustomMapper {
|
||
|
||
/**
|
||
* 获取表所有字段
|
||
*
|
||
* @param tableName tableName
|
||
* @return list
|
||
*/
|
||
public List<String> getFields(@Param("tableName") String tableName);
|
||
|
||
/**
|
||
* 获取表存在的id list
|
||
*
|
||
* @param tableName tableName
|
||
* @param ids id list
|
||
* @return list
|
||
*/
|
||
public List<String> getIds(@Param("tableName") String tableName, @Param("ids") List<String> ids);
|
||
|
||
/**
|
||
* 统计表数据
|
||
*
|
||
* @param param param
|
||
* @return list
|
||
*/
|
||
public Integer count(@Param("param") SalesforceParam param);
|
||
|
||
/**
|
||
* 检测表是否存在
|
||
*
|
||
* @param tableName tableName
|
||
*/
|
||
public String checkTable(@Param("tableName") String tableName);
|
||
|
||
/**
|
||
* 建表方法
|
||
*
|
||
* @param tableName tableName
|
||
* @param maps maps
|
||
*/
|
||
public void createTable(@Param("tableName") String tableName, @Param("tableComment") String tableComment, @Param("maps") List<Map<String, Object>> maps, @Param("index") List<Map<String, Object>> index);
|
||
|
||
/**
|
||
* 更新方法
|
||
*
|
||
* @param tableName tableName
|
||
* @param maps maps
|
||
* @param id id
|
||
*/
|
||
public void updateById(@Param("tableName") String tableName, @Param("maps") List<Map<String, Object>> maps, @Param("id") String id);
|
||
|
||
|
||
/**
|
||
* 更新方法
|
||
*
|
||
* @param maps maps
|
||
* @param api api
|
||
* @param sql sql
|
||
*/
|
||
public void update(@Param("maps") List<Map<String, Object>> maps, @Param("tableName") String api, @Param("sql") String sql);
|
||
|
||
/**
|
||
* 插入方法
|
||
*
|
||
* @param tableName tableName
|
||
* @param maps maps
|
||
*/
|
||
public void save(@Param("tableName") String tableName, @Param("maps") List<Map<String, Object>> maps);
|
||
|
||
/**
|
||
* 插入方法
|
||
*
|
||
* @param tableName tableName
|
||
* @param keys keys
|
||
* @param values values
|
||
*/
|
||
public void saveBatch(@Param("tableName") String tableName, @Param("keys") Collection<String> keys, @Param("values") Collection<Collection<Object>> values);
|
||
|
||
/**
|
||
* 通用表数据获取
|
||
*
|
||
* @param api 参数
|
||
* @param select 参数
|
||
* @param sql 参数
|
||
* @return list
|
||
*/
|
||
public List<Map<String, Object>> list(@Param("select") String select, @Param("api") String api, @Param("sql") String sql);
|
||
|
||
/**
|
||
* 通用表数据获取,返回JosnObject
|
||
*
|
||
* @param api 参数
|
||
* @param select 参数
|
||
* @param sql 参数
|
||
* @return list
|
||
*/
|
||
public List<JSONObject> listJsonObject(@Param("select") String select, @Param("api") String api, @Param("sql") String sql);
|
||
|
||
/**
|
||
* 通用表数据获取
|
||
*
|
||
* @param api 参数
|
||
* @param select 参数
|
||
* @param sql 参数
|
||
* @return list
|
||
*/
|
||
public List<String> listById(@Param("select") String select, @Param("api") String api, @Param("sql") String sql);
|
||
|
||
/**
|
||
* 通用表数据获取
|
||
*
|
||
* @param api 参数
|
||
* @param select 参数
|
||
* @param id 参数
|
||
* @return map
|
||
*/
|
||
public Map<String, Object> getById(@Param("select") String select, @Param("api") String api, @Param("id") String id);
|
||
|
||
|
||
public Integer countBySQL(@Param("api") String api, @Param("sql") String sql);
|
||
|
||
public void delete(@Param("tableName") String tableName, @Param("ids") List<String> ids);
|
||
}
|