feat: 添加查询 object 有关方法。

This commit is contained in:
Suomm 2023-07-31 22:32:52 +08:00
parent d40279a44b
commit c3144c7377

View File

@ -123,6 +123,64 @@ public abstract class Model<T extends Model<T>>
return Optional.ofNullable(oneAs(asType));
}
/**
* 根据实体类构建的条件获取第一列且第一条数据
*
* @return 第一列数据
*/
public Object obj() {
return baseMapper().selectObjectByQuery(queryWrapper());
}
/**
* 根据实体类构建的条件获取第一列且第一条数据并转换为指定类型比如 {@code Long}, {@code String}
*
* @param asType 接收数据类型
* @return 第一列数据
*/
public <R> R objAs(Class<R> asType) {
return baseMapper().selectObjectByQueryAs(queryWrapper(), asType);
}
/**
* 根据实体类构建的条件获取第一列且第一条数据并封装为 {@link Optional} 返回
*
* @return 第一列数据
*/
public Optional<Object> objOpt() {
return Optional.ofNullable(obj());
}
/**
* 根据实体类构建的条件获取第一列且第一条数据并转换为指定类型比如 {@code Long}, {@code String}
* 封装为 {@link Optional} 返回
*
* @param asType 接收数据类型
* @return 第一列数据
*/
public <R> Optional<R> objAsOpt(Class<R> asType) {
return Optional.ofNullable(objAs(asType));
}
/**
* 根据实体类构建的条件获取第一列的所有数据
*
* @return 第一列数据
*/
public List<Object> objList() {
return baseMapper().selectObjectListByQuery(queryWrapper());
}
/**
* 根据实体类构建的条件获取第一列的所有数据并转换为指定类型比如 {@code Long}, {@code String}
*
* @param asType 接收数据类型
* @return 第一列数据
*/
public <R> List<R> objListAs(Class<R> asType) {
return baseMapper().selectObjectListByQueryAs(queryWrapper(), asType);
}
/**
* 根据实体类构建的条件获取多条数据
*