All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.gitee.qdbp.jdbc.plugins.EntityFieldFillStrategy Maven / Gradle / Ivy

package com.gitee.qdbp.jdbc.plugins;

import java.util.Map;
import com.gitee.qdbp.able.jdbc.condition.DbUpdate;
import com.gitee.qdbp.able.jdbc.condition.DbWhere;
import com.gitee.qdbp.jdbc.model.AllFieldColumn;

/**
 * 实体公共字段填充策略(主要作用是自动填充创建人/创建时间/修改人/修改时间等全局通用字段)
* 每个项目的处理方式不一样, 抽象成接口由各项目提供实现类
* 这个类的实现类是提供给EntityFieldFillExecutor调用的 * * @author zhaohuihua * @version 190601 */ public interface EntityFieldFillStrategy { /** 获取当前登录账号, 一般是UserId **/ String getLoginAccount(); /** 生成主键编号 **/ String generatePrimaryKeyCode(String tableName); /** * 填充查询时WHERE条件参数(如数据权限)
* SELECT * FROM table WHERE ... {在这里增加限制数条件} * * @param tableAlias 表别名 * @param where 条件 * @param allFields 全字段 */ void fillQueryWhereParams(DbWhere where, String tableAlias, AllFieldColumn allFields); /** * 填充更新时WHERE条件参数
* UPDATE table SET ... WHERE ... {在这里增加限制数条件} * * @param where 条件 * @param allFields 全字段 */ void fillUpdateWhereParams(DbWhere where, AllFieldColumn allFields); /** * 填充删除时WHERE条件参数
* DELETE FOM table WHERE ... {在这里增加限制数条件} * * @param where 条件 * @param allFields 全字段 */ void fillDeleteWhereParams(DbWhere where, AllFieldColumn allFields); /** * 填充创建参数(如创建人创建时间等) * * @param entity 实体对象 * @param allFields 全字段 */ void fillEntityCreateParams(Map entity, AllFieldColumn allFields); /** * 填充修改参数(如修改人修改时间等)
* UPDATE table SET ..., {在这里填充修改时的默认值} WHERE ... * * @param entity 实体对象 * @param allFields 全字段 */ void fillEntityUpdateParams(Map entity, AllFieldColumn allFields); /** * 填充修改参数(如修改人修改时间等)
* UPDATE table SET ..., {在这里填充修改时的默认值} WHERE ... * * @param ud 更新对象 * @param allFields 全字段 */ void fillEntityUpdateParams(DbUpdate ud, AllFieldColumn allFields); /** * 填充逻辑删除时的参数(如修改人修改时间等)
* UPDATE table SET ..., {在这里填充修改时的默认值} WHERE ... * * @param entity 实体对象 * @param allFields 全字段 */ void fillLogicalDeleteParams(Map entity, AllFieldColumn allFields); /** * 填充逻辑删除时的参数(如修改人修改时间等)
* UPDATE table SET ..., {在这里填充修改时的默认值} WHERE ... * * @param ud 更新对象 * @param allFields 全字段 */ void fillLogicalDeleteParams(DbUpdate ud, AllFieldColumn allFields); }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy