
cn.schoolwow.quickdao.domain.database.dml.DatabaseManipulation Maven / Gradle / Ivy
package cn.schoolwow.quickdao.domain.database.dml;
import cn.schoolwow.quickdao.module.database.dql.condition.domain.SFunction;
import cn.schoolwow.quickdao.module.database.parent.kit.DatabaseDAO;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import java.util.Collection;
import java.util.List;
import java.util.Map;
/**
* 负责数据增删改查操作
*/
public interface DatabaseManipulation extends DatabaseDAO {
/**
* 是否返回自增id
*/
DatabaseManipulation returnGeneratedKeys(boolean returnGeneratedKeys);
/**
* 是否使用批处理
*/
DatabaseManipulation batch(boolean batch);
/**
* 每次最大更新个数
*/
DatabaseManipulation perBatchCount(int perBatchCount);
/**
* 是否只插入/更新部分字段
*/
DatabaseManipulation partColumn(String... fieldNames);
/**
* 排除插入/更新部分字段
*/
DatabaseManipulation excludeColumn(String... fieldNames);
/**
* 指定唯一字段
*/
DatabaseManipulation uniqueFieldNames(String... uniqueFieldNames);
/**
* 指定更新类型
*/
DatabaseManipulation updateType(UpdateType updateType);
/**
* 指定字段检查策略
*/
DatabaseManipulation checkStrategy(CheckStrategy checkStrategy);
/**
* 获取不符合约束的实例
* */
Map getReasonInstanceMap(String tableName, JSONArray instances);
/**
* 插入JSON对象
*
* @param tableName 表名
* @param instance 记录
*/
int insert(String tableName, JSONObject instance);
/**
* 插入JSON列表
*
* @param tableName 表名
* @param instances 数据列表
*/
int insert(String tableName, JSONArray instances);
/**
* 比对数据库存在的记录
*
* @param tableName 表名
* @param currentJSONArray 当前存在记录
*/
CompareJSONArrayResult compareJSONArray(String tableName, JSONArray currentJSONArray);
/**
* 比对数据库存在的记录
*
* @param tableName 表名
* @param currentJSONArray 当前存在记录
* @param totalJSONArray 所有记录
*/
CompareJSONArrayResult compareJSONArray(String tableName, JSONArray currentJSONArray, JSONArray totalJSONArray);
/**
* 忽略插入JSONObject
* 不存在则插入,存在则忽略
*
* @param tableName 表名
* @param instance 记录
*/
int insertIgnore(String tableName, JSONObject instance);
/**
* 忽略插入JSONArray
* 不存在则插入,存在则忽略
*
* @param tableName 表名
* @param instances 记录
*/
int insertIgnore(String tableName, JSONArray instances);
/**
* 更新实例
*
* @param tableName 表名
* @param instance 记录
*/
int update(String tableName, JSONObject instance);
/**
* 更新实例
*
* @param tableName 表名
* @param instances 记录
*/
int update(String tableName, JSONArray instances);
/**
* 保存对象
* 调用此方法前请先调用uniqueFieldNames方法指定唯一字段
*
* @param instance 待保存对象
*/
int save(String tableName, JSONObject instance);
/**
* 保存对象
* 调用此方法前请先调用uniqueFieldNames方法指定唯一字段
*
* @param instances 待保存数组
*/
int save(String tableName, JSONArray instances);
/**
* 删除实例
*
* @param tableName 表名
* @param instance 记录
*/
int delete(String tableName, JSONObject instance);
/**
* 删除实例
*
* @param tableName 表名
* @param instances 记录
*/
int delete(String tableName, JSONArray instances);
/**
* 获取不符合约束的实例
* */
Map
© 2015 - 2025 Weber Informatics LLC | Privacy Policy