Class Lifecycle.BeforeUpdateTransformersBuilder

  • Enclosing class:
    Lifecycle

    public static class Lifecycle.BeforeUpdateTransformersBuilder
    extends Lifecycle.BaseQsTransformersBuilder
    更新前,对QueryStructure进行转换, 例如,添加更新时间,更新人等
    • Method Detail

      • addField

        public <T> Lifecycle.BeforeUpdateTransformersBuilder addField​(String field,
                                                                      Class<T> fieldClass,
                                                                      Supplier<T> value)
        更新前添加字段,当未指定某字段的值时,为该字段添加默认值,如update_by等 不会处理QueryProSql执行的插入操作
        Parameters:
        fieldClass - 有时候,相同的 field 会有多种类型的取值,使用该字段可以区分这种情况
      • addField

        public <T> Lifecycle.BeforeUpdateTransformersBuilder addField​(String field,
                                                                      Class<T> fieldClass,
                                                                      Supplier<T> value,
                                                                      Lifecycle.BeforeUpdatePredicate predicate)
        更新前添加字段,当未指定某字段的值时,为该字段添加默认值,如update_by等 不会处理QueryProSql执行的插入操作
        Parameters:
        fieldClass - 有时候,相同的 field 会有多种类型的取值,使用该字段可以区分这种情况
        predicate - 可选的过滤器,返回结果为false时,该字段不会被添加
      • overrideField

        public <T> Lifecycle.BeforeUpdateTransformersBuilder overrideField​(String field,
                                                                           Class<T> fieldClass,
                                                                           Supplier<T> value)
        更新前添加字段,覆盖字段,无论是否指定此字段,始终覆盖,例如:更新时间 不会处理QueryProSql执行的插入操作 可使用 QueryProConst(Kt).NULL 实现deleteField
        Parameters:
        fieldClass - 有时候,相同的 field 会有多种类型的取值,使用该字段可以区分这种情况
      • overrideField

        public <T> Lifecycle.BeforeUpdateTransformersBuilder overrideField​(String field,
                                                                           Class<T> fieldClass,
                                                                           Supplier<T> value,
                                                                           Lifecycle.BeforeUpdatePredicate predicate)
        更新前添加字段,覆盖字段,无论是否指定此字段,始终覆盖,例如:更新时间 不会处理QueryProSql执行的插入操作 可使用 QueryProConst(Kt).NULL 实现deleteField
        Parameters:
        fieldClass - 有时候,相同的 field 会有多种类型的取值,使用该字段可以区分这种情况
        predicate - 可选的过滤器,返回结果为false时,该字段不会被添加或覆盖
      • deleteField

        public Lifecycle.BeforeUpdateTransformersBuilder deleteField​(String field,
                                                                     @Nullable
                                                                     Class<?> fieldClass,
                                                                     Lifecycle.BeforeUpdatePredicate predicate)
        更新时忽略某字段 不会处理QueryProSql执行的插入操作
        Parameters:
        fieldClass - 有时候,相同的 field 会有多种类型的取值,使用该字段可以区分这种情况,可为null,为null时代表不区分类型
        predicate - 可选的过滤器,返回结果为false时,该字段不会被移除