类 AbstractWrapper<T,​R,​Children extends AbstractWrapper<T,​R,​Children>>

    • 字段详细资料

      • paramNameSeq

        protected java.util.concurrent.atomic.AtomicInteger paramNameSeq
        必要度量
      • paramNameValuePairs

        protected java.util.Map<java.lang.String,​java.lang.Object> paramNameValuePairs
    • 构造器详细资料

      • AbstractWrapper

        public AbstractWrapper()
    • 方法详细资料

      • getEntity

        public T getEntity()
        从类复制的说明: Wrapper
        实体对象(子类实现)
        指定者:
        getEntity 在类中 Wrapper<T>
        返回:
        泛型 T
      • setEntity

        public Children setEntity​(T entity)
      • getEntityClass

        public java.lang.Class<T> getEntityClass()
      • setEntityClass

        public Children setEntityClass​(java.lang.Class<T> entityClass)
      • allEq

        public <V> Children allEq​(boolean condition,
                                  java.util.Map<R,​V> params,
                                  boolean null2IsNull)
        从接口复制的说明: Compare
        map 所有非空属性等于 =
        指定者:
        allEq 在接口中 Compare<T,​R>
        参数:
        condition - 执行条件
        params - map 类型的参数, key 是字段名, value 是字段值
        null2IsNull - 是否参数为 null 自动执行 isNull 方法, false 则忽略这个字段\
        返回:
        children
      • allEq

        public <V> Children allEq​(boolean condition,
                                  java.util.function.BiPredicate<R,​V> filter,
                                  java.util.Map<R,​V> params,
                                  boolean null2IsNull)
        从接口复制的说明: Compare
        字段过滤接口,传入多参数时允许对参数进行过滤
        指定者:
        allEq 在接口中 Compare<T,​R>
        参数:
        condition - 执行条件
        filter - 返回 true 来允许字段传入比对条件中
        params - map 类型的参数, key 是字段名, value 是字段值
        null2IsNull - 是否参数为 null 自动执行 isNull 方法, false 则忽略这个字段
        返回:
        children
      • eq

        public Children eq​(boolean condition,
                           R column,
                           java.lang.Object val)
        从接口复制的说明: Compare
        等于 =
        指定者:
        eq 在接口中 Compare<T,​R>
        参数:
        condition - 执行条件
        column - 字段
        val - 值
        返回:
        children
      • ne

        public Children ne​(boolean condition,
                           R column,
                           java.lang.Object val)
        从接口复制的说明: Compare
        不等于 <>
        指定者:
        ne 在接口中 Compare<T,​R>
        参数:
        condition - 执行条件
        column - 字段
        val - 值
        返回:
        children
      • gt

        public Children gt​(boolean condition,
                           R column,
                           java.lang.Object val)
        从接口复制的说明: Compare
        大于 >
        指定者:
        gt 在接口中 Compare<T,​R>
        参数:
        condition - 执行条件
        column - 字段
        val - 值
        返回:
        children
      • ge

        public Children ge​(boolean condition,
                           R column,
                           java.lang.Object val)
        从接口复制的说明: Compare
        大于等于 >=
        指定者:
        ge 在接口中 Compare<T,​R>
        参数:
        condition - 执行条件
        column - 字段
        val - 值
        返回:
        children
      • lt

        public Children lt​(boolean condition,
                           R column,
                           java.lang.Object val)
        从接口复制的说明: Compare
        小于 <
        指定者:
        lt 在接口中 Compare<T,​R>
        参数:
        condition - 执行条件
        column - 字段
        val - 值
        返回:
        children
      • le

        public Children le​(boolean condition,
                           R column,
                           java.lang.Object val)
        从接口复制的说明: Compare
        小于等于 <=
        指定者:
        le 在接口中 Compare<T,​R>
        参数:
        condition - 执行条件
        column - 字段
        val - 值
        返回:
        children
      • like

        public Children like​(boolean condition,
                             R column,
                             java.lang.Object val)
        从接口复制的说明: Compare
        LIKE '%值%'
        指定者:
        like 在接口中 Compare<T,​R>
        参数:
        condition - 执行条件
        column - 字段
        val - 值
        返回:
        children
      • notLike

        public Children notLike​(boolean condition,
                                R column,
                                java.lang.Object val)
        从接口复制的说明: Compare
        NOT LIKE '%值%'
        指定者:
        notLike 在接口中 Compare<T,​R>
        参数:
        condition - 执行条件
        column - 字段
        val - 值
        返回:
        children
      • likeLeft

        public Children likeLeft​(boolean condition,
                                 R column,
                                 java.lang.Object val)
        从接口复制的说明: Compare
        LIKE '%值'
        指定者:
        likeLeft 在接口中 Compare<T,​R>
        参数:
        condition - 执行条件
        column - 字段
        val - 值
        返回:
        children
      • likeRight

        public Children likeRight​(boolean condition,
                                  R column,
                                  java.lang.Object val)
        从接口复制的说明: Compare
        LIKE '值%'
        指定者:
        likeRight 在接口中 Compare<T,​R>
        参数:
        condition - 执行条件
        column - 字段
        val - 值
        返回:
        children
      • between

        public Children between​(boolean condition,
                                R column,
                                java.lang.Object val1,
                                java.lang.Object val2)
        从接口复制的说明: Compare
        BETWEEN 值1 AND 值2
        指定者:
        between 在接口中 Compare<T,​R>
        参数:
        condition - 执行条件
        column - 字段
        val1 - 值1
        val2 - 值2
        返回:
        children
      • notBetween

        public Children notBetween​(boolean condition,
                                   R column,
                                   java.lang.Object val1,
                                   java.lang.Object val2)
        从接口复制的说明: Compare
        NOT BETWEEN 值1 AND 值2
        指定者:
        notBetween 在接口中 Compare<T,​R>
        参数:
        condition - 执行条件
        column - 字段
        val1 - 值1
        val2 - 值2
        返回:
        children
      • and

        public Children and​(boolean condition,
                            java.util.function.Consumer<Children> consumer)
        从接口复制的说明: Nested
        AND 嵌套

        例: and(i -> i.eq("name", "李白").ne("status", "活着"))

        指定者:
        and 在接口中 Nested<T,​R>
        参数:
        condition - 执行条件
        consumer - 消费函数
        返回:
        children
      • or

        public Children or​(boolean condition,
                           java.util.function.Consumer<Children> consumer)
        从接口复制的说明: Nested
        OR 嵌套

        例: or(i -> i.eq("name", "李白").ne("status", "活着"))

        指定者:
        or 在接口中 Nested<T,​R>
        参数:
        condition - 执行条件
        consumer - 消费函数
        返回:
        children
      • nested

        public Children nested​(boolean condition,
                               java.util.function.Consumer<Children> consumer)
        从接口复制的说明: Nested
        正常嵌套 不带 AND 或者 OR

        例: nested(i -> i.eq("name", "李白").ne("status", "活着"))

        指定者:
        nested 在接口中 Nested<T,​R>
        参数:
        condition - 执行条件
        consumer - 消费函数
        返回:
        children
      • not

        public Children not​(boolean condition,
                            java.util.function.Consumer<Children> consumer)
        从接口复制的说明: Nested
        not嵌套

        例: not(i -> i.eq("name", "李白").ne("status", "活着"))

        指定者:
        not 在接口中 Nested<T,​R>
        参数:
        condition - 执行条件
        consumer - 消费函数
        返回:
        children
      • or

        public Children or​(boolean condition)
        从接口复制的说明: Join
        拼接 OR
        指定者:
        or 在接口中 Join<T>
        参数:
        condition - 执行条件
        返回:
        children
      • apply

        public Children apply​(boolean condition,
                              java.lang.String applySql,
                              java.lang.Object... values)
        从接口复制的说明: Join
        拼接 sql

        !! 会有 sql 注入风险 !!

        例1: apply("id = 1")

        例2: apply("date_format(dateColumn,'%Y-%m-%d') = '2008-08-08'")

        例3: apply("date_format(dateColumn,'%Y-%m-%d') = {0}", LocalDate.now())

        指定者:
        apply 在接口中 Join<T>
        参数:
        condition - 执行条件
        values - 数据数组
        返回:
        children
      • last

        public Children last​(boolean condition,
                             java.lang.String lastSql)
        从接口复制的说明: Join
        无视优化规则直接拼接到 sql 的最后(有sql注入的风险,请谨慎使用)

        例: last("limit 1")

        注意只能调用一次,多次调用以最后一次为准

        指定者:
        last 在接口中 Join<T>
        参数:
        condition - 执行条件
        lastSql - sql语句
        返回:
        children
      • comment

        public Children comment​(boolean condition,
                                java.lang.String comment)
        从接口复制的说明: Join
        sql 注释(会拼接在 sql 的最后面)
        指定者:
        comment 在接口中 Join<T>
        参数:
        condition - 执行条件
        comment - sql注释
        返回:
        children
      • first

        public Children first​(boolean condition,
                              java.lang.String firstSql)
        从接口复制的说明: Join
        sql 起始句(会拼接在SQL语句的起始处)
        指定者:
        first 在接口中 Join<T>
        参数:
        condition - 执行条件
        firstSql - 起始语句
        返回:
        children
      • exists

        public Children exists​(boolean condition,
                               java.lang.String existsSql,
                               java.lang.Object... values)
        从接口复制的说明: Join
        拼接 EXISTS ( sql语句 )

        !! sql 注入方法 !!

        例: exists("select id from table where age = 1")

        指定者:
        exists 在接口中 Join<T>
        参数:
        condition - 执行条件
        existsSql - sql语句
        values - 数据数组
        返回:
        children
      • notExists

        public Children notExists​(boolean condition,
                                  java.lang.String existsSql,
                                  java.lang.Object... values)
        从接口复制的说明: Join
        拼接 NOT EXISTS ( sql语句 )

        !! sql 注入方法 !!

        例: notExists("select id from table where age = 1")

        指定者:
        notExists 在接口中 Join<T>
        参数:
        condition - 执行条件
        existsSql - sql语句
        values - 数据数组
        返回:
        children
      • isNull

        public Children isNull​(boolean condition,
                               R column)
        从接口复制的说明: Func
        字段 IS NULL

        例: isNull("name")

        指定者:
        isNull 在接口中 Func<T,​R>
        参数:
        condition - 执行条件
        column - 字段
        返回:
        children
      • isNotNull

        public Children isNotNull​(boolean condition,
                                  R column)
        从接口复制的说明: Func
        字段 IS NOT NULL

        例: isNotNull("name")

        指定者:
        isNotNull 在接口中 Func<T,​R>
        参数:
        condition - 执行条件
        column - 字段
        返回:
        children
      • in

        public Children in​(boolean condition,
                           R column,
                           java.util.Collection<?> coll)
        从接口复制的说明: Func
        字段 IN (value.get(0), value.get(1), ...)

        例: in("id", Arrays.asList(1, 2, 3, 4, 5))

      • 注意!集合为空若存在逻辑错误,请在 condition 条件中判断
      • 如果集合为 empty 则不会进行 sql 拼接
指定者:
in 在接口中 Func<T,​R>
参数:
condition - 执行条件
column - 字段
coll - 数据集合
返回:
children
指定者:
in 在接口中 Func<T,​R>
参数:
condition - 执行条件
column - 字段
values - 数据数组
返回:
children