mirror of
https://gitee.com/mybatis-flex/mybatis-flex.git
synced 2025-12-07 09:08:24 +08:00
feat: add MapperModel.saveAndReturnId() and saveAndReturnSelf() methods
This commit is contained in:
parent
b862c87758
commit
dfc571c460
@ -70,6 +70,27 @@ public interface MapperModel<T> {
|
||||
return save(true);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 保存数据并返回 entity 本身,并设置是否忽略 {@code null} 值。
|
||||
*
|
||||
* @return entity 本身
|
||||
*/
|
||||
default T saveAndReturnSelf() {
|
||||
return saveAndReturnSelf(true);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 保存数据并返回保存成功的 id,并设置是否忽略 {@code null} 值。
|
||||
*
|
||||
* @return id 值
|
||||
*/
|
||||
default <R> R saveAndReturnId() {
|
||||
return saveAndReturnId(true);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 保存数据,并设置是否忽略 {@code null} 值。
|
||||
*
|
||||
@ -80,6 +101,30 @@ public interface MapperModel<T> {
|
||||
return SqlUtil.toBool(baseMapper().insert((T) this, ignoreNulls));
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存数据并返回 entity 本身,并设置是否忽略 {@code null} 值。
|
||||
*
|
||||
* @param ignoreNulls 是否忽略 {@code null} 值
|
||||
* @return entity 本身
|
||||
*/
|
||||
default T saveAndReturnSelf(boolean ignoreNulls) {
|
||||
baseMapper().insert((T) this, ignoreNulls);
|
||||
return (T) this;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 保存数据并返回保存成功的 id,并设置是否忽略 {@code null} 值。
|
||||
*
|
||||
* @param ignoreNulls 是否忽略 {@code null} 值
|
||||
* @return id 内容
|
||||
*/
|
||||
default <R> R saveAndReturnId(boolean ignoreNulls) {
|
||||
baseMapper().insert((T) this, ignoreNulls);
|
||||
Object[] pkValues = pkValues();
|
||||
return pkValues != null && pkValues.length == 1 ? (R) pkValues[0] : (R) pkValues;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存或者更新数据,如果实体类主键没有值,则 <b>保存</b> 数据;如果实体类主键有值,则
|
||||
* <b>更新</b> 数据(全部自动忽略 {@code null} 值)。
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user