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

cn.handyplus.lib.db.UpdateCondition Maven / Gradle / Ivy

The newest version!
package cn.handyplus.lib.db;

import cn.handyplus.lib.db.func.DbFunction;

import java.io.Serializable;

/**
 * 更新条件构造器
 *
 * @author handy
 */
public class UpdateCondition implements Serializable {

    private static final long serialVersionUID = 1019927794965371697L;
    private final DbSql dbSql;

    protected UpdateCondition(DbSql dbSql) {
        this.dbSql = dbSql;
    }

    /**
     * 更新条件
     *
     * @param fn  字段
     * @param val 值
     * @param  类型
     * @return this
     */
    public  UpdateCondition set(DbFunction fn, Object val) {
        return this.set(true, fn, val);
    }

    /**
     * 更新条件
     *
     * @param condition 执行条件
     * @param fn        字段
     * @param val       值
     * @param        类型
     * @return this
     */
    public  UpdateCondition set(boolean condition, DbFunction fn, Object val) {
        dbSql.updateCondition(condition, DbColumnUtil.getFieldName(fn), val);
        return this;
    }

    /**
     * 更新条件 减少
     *
     * @param fn                 字段
     * @param calculateFieldName 参与计算的字段
     * @param val                值
     * @param                 类型
     * @return this
     * @since 2.1.1
     */
    public  UpdateCondition subtract(DbFunction fn, DbFunction calculateFieldName, Object val) {
        return this.subtract(true, fn, calculateFieldName, val);
    }

    /**
     * 更新条件 减少
     *
     * @param condition          执行条件
     * @param fn                 字段
     * @param calculateFieldName 参与计算的字段
     * @param val                值
     * @param                 类型
     * @return this
     * @since 2.1.0
     */
    public  UpdateCondition subtract(boolean condition, DbFunction fn, DbFunction calculateFieldName, Object val) {
        dbSql.updateCondition(condition, DbColumnUtil.getFieldName(fn), DbColumnUtil.getFieldName(calculateFieldName), DbConstant.SUBTRACT, val);
        return this;
    }

    /**
     * 更新条件 增加
     *
     * @param fn                 字段
     * @param calculateFieldName 参与计算的字段
     * @param val                值
     * @param                 类型
     * @return this
     * @since 2.1.1
     */
    public  UpdateCondition add(DbFunction fn, DbFunction calculateFieldName, Object val) {
        return this.add(true, fn, calculateFieldName, val);
    }

    /**
     * 更新条件 增加
     *
     * @param condition          执行条件
     * @param fn                 字段
     * @param calculateFieldName 参与计算的字段
     * @param val                值
     * @param                 类型
     * @return this
     * @since 2.1.0
     */
    public  UpdateCondition add(boolean condition, DbFunction fn, DbFunction calculateFieldName, Object val) {
        dbSql.updateCondition(condition, DbColumnUtil.getFieldName(fn), DbColumnUtil.getFieldName(calculateFieldName), DbConstant.ADD, val);
        return this;
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy