cn.vonce.sql.bean.Update Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of vonce-sqlbean-core Show documentation
Show all versions of vonce-sqlbean-core Show documentation
This is the core project of Sqlbean.
The newest version!
package cn.vonce.sql.bean;
import cn.vonce.sql.define.ColumnFun;
import cn.vonce.sql.uitls.LambdaUtil;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* 更新
*
* @author Jovi
* @version 1.0
* @email [email protected]
* @date 2017年8月18日上午9:00:19
*/
public class Update extends CommonCondition> implements Serializable {
public Update() {
super();
super.setReturnObj(this);
}
/**
* 更新的实体对象
*/
private T bean = null;
/**
* 过滤的字段数组
*/
private List filterColumns = new ArrayList<>();
/**
* 默认只更新不为空的字段
*/
private boolean notNull = true;
/**
* 是否使用乐观锁
*/
private boolean optimisticLock = false;
/**
* 更新的字段列表
*/
private List setInfoList = new ArrayList<>();
/**
* 获取更新的实体对象
*
* @return
*/
public T getBean() {
return bean;
}
/**
* 设置更新的实体对象
*
* @return
*/
public Update bean(T bean) {
this.bean = bean;
return this;
}
/**
* 设置过滤的列字段
*
* @param filterFields
*/
public Update filterFields(String... filterFields) {
if (filterFields != null && filterFields.length > 0) {
for (String filterField : filterFields) {
this.filterColumns.add(new Column(filterField));
}
}
return this;
}
/**
* 获取过滤的列字段
*
* @return
*/
public List getFilterColumns() {
return filterColumns;
}
/**
* 设置过滤的列字段
*
* @param filterColumns
*/
public Update filterFields(Column... filterColumns) {
if (filterColumns != null && filterColumns.length > 0) {
for (Column column : filterColumns) {
this.filterColumns.add(column);
}
}
return this;
}
/**
* 设置过滤的列字段
*
* @param columnFuns
*/
public Update filterFields(ColumnFun... columnFuns) {
if (columnFuns != null && columnFuns.length > 0) {
for (ColumnFun columnFun : columnFuns) {
this.filterColumns.add(LambdaUtil.getColumn(columnFun));
}
}
return this;
}
/**
* 是否仅更新不为空的字段
*
* @return
*/
public boolean isNotNull() {
return notNull;
}
/**
* 设置是否仅更新不为空的字段
*
* @param notNull
*/
public Update notNull(boolean notNull) {
this.notNull = notNull;
return this;
}
/**
* 是否使用乐观锁
*
* @return
*/
public boolean isOptimisticLock() {
return optimisticLock;
}
/**
* 设置是否使用乐观锁
*
* @param optimisticLock
*/
public Update optimisticLock(boolean optimisticLock) {
this.optimisticLock = optimisticLock;
return this;
}
/**
* 获取更新的字段列表
*
* @return
*/
public List getSetInfoList() {
return setInfoList;
}
/**
* 设置字段值
*
* @param columnName 字段名
* @param value 值
* @return
*/
public Update set(String columnName, Object value) {
setInfoList.add(new SetInfo(columnName, value));
return this;
}
/**
* 设置字段值
*
* @param tableAlias 表别名
* @param columnName 字段名
* @param value 值
* @return
*/
public Update set(String tableAlias, String columnName, Object value) {
setInfoList.add(new SetInfo(tableAlias, columnName, value));
return this;
}
/**
* 设置字段值
*
* @param column 字段信息
* @param value 值
* @return
*/
public Update set(Column column, Object value) {
setInfoList.add(new SetInfo(column.getTableAlias(), column.getName(), value));
return this;
}
/**
* 设置字段值
*
* @param columnFun 字段信息
* @param value 值
* @param
* @return
*/
public Update set(ColumnFun columnFun, Object value) {
Column column = LambdaUtil.getColumn(columnFun);
setInfoList.add(new SetInfo(column.getTableAlias(), column.getName(), value));
return this;
}
/**
* 设置字段值 值相加
*
* @param columnName 字段名
* @param value1 第一个值
* @param value2 第二个值
* @return
*/
public Update setAdd(String columnName, Object value1, Object value2) {
setInfoList.add(new SetInfo(SetInfo.Operator.ADDITION, columnName, value1, value2));
return this;
}
/**
* 设置字段值 值相加
*
* @param tableAlias 表别名
* @param columnName 字段名
* @param value1 第一个值
* @param value2 第二个值
* @return
*/
public Update setAdd(String tableAlias, String columnName, Object value1, Object value2) {
setInfoList.add(new SetInfo(SetInfo.Operator.ADDITION, tableAlias, columnName, value1, value2));
return this;
}
/**
* 设置字段值 值相加
*
* @param column 字段信息
* @param value1 第一个值
* @param value2 第二个值
* @return
*/
public Update setAdd(Column column, Object value1, Object value2) {
setInfoList.add(new SetInfo(SetInfo.Operator.ADDITION, column.getTableAlias(), column.getName(), value1, value2));
return this;
}
/**
* 设置字段值 值相加
*
* @param columnFun 字段信息
* @param value1 第一个值
* @param value2 第二个值
* @return
*/
public Update setAdd(ColumnFun columnFun, Object value1, Object value2) {
Column column = LambdaUtil.getColumn(columnFun);
setInfoList.add(new SetInfo(SetInfo.Operator.ADDITION, column.getTableAlias(), column.getName(), value1, value2));
return this;
}
/**
* 设置字段值 值相加
*
* @param columnFun 字段信息
* @param value1 第一个值(字段信息)
* @param value2 第二个值
* @return
*/
public Update setAdd(ColumnFun columnFun, ColumnFun value1, Object value2) {
Column column = LambdaUtil.getColumn(columnFun);
setInfoList.add(new SetInfo(SetInfo.Operator.ADDITION, column.getTableAlias(), column.getName(), value1, value2));
return this;
}
/**
* 设置字段值 值相减
*
* @param columnName 字段名
* @param value1 第一个值
* @param value2 第二个值
* @return
*/
public Update setSub(String columnName, Object value1, Object value2) {
setInfoList.add(new SetInfo(SetInfo.Operator.SUBTRACT, columnName, value1, value2));
return this;
}
/**
* 设置字段值 值相减
*
* @param tableAlias 表别名
* @param columnName 字段名
* @param value1 第一个值
* @param value2 第二个值
* @return
*/
public Update setSub(String tableAlias, String columnName, Object value1, Object value2) {
setInfoList.add(new SetInfo(SetInfo.Operator.SUBTRACT, tableAlias, columnName, value1, value2));
return this;
}
/**
* 设置字段值 值相减
*
* @param column 字段信息
* @param value1 第一个值
* @param value2 第二个值
* @return
*/
public Update setSub(Column column, Object value1, Object value2) {
setInfoList.add(new SetInfo(SetInfo.Operator.SUBTRACT, column.getTableAlias(), column.getName(), value1, value2));
return this;
}
/**
* 设置字段值 值相减
*
* @param columnFun 字段信息
* @param value1 第一个值
* @param value2 第二个值
* @return
*/
public Update setSub(ColumnFun columnFun, Object value1, Object value2) {
Column column = LambdaUtil.getColumn(columnFun);
setInfoList.add(new SetInfo(SetInfo.Operator.SUBTRACT, column.getTableAlias(), column.getName(), value1, value2));
return this;
}
/**
* 设置字段值 值相减
*
* @param columnFun 字段信息
* @param value1 第一个值(字段信息)
* @param value2 第二个值
* @return
*/
public Update setSub(ColumnFun columnFun, ColumnFun value1, Object value2) {
Column column = LambdaUtil.getColumn(columnFun);
setInfoList.add(new SetInfo(SetInfo.Operator.SUBTRACT, column.getTableAlias(), column.getName(), value1, value2));
return this;
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy