Skip to content

BaseService

lxy edited this page Jul 6, 2021 · 1 revision
importcom.gitee.fastmybatis.core.mapper.CrudMapper;
importcom.gitee.fastmybatis.core.query.Query;
importcom.gitee.fastmybatis.core.support.PageEasyui;
importcom.gitee.fastmybatis.core.util.MapperUtil;
importorg.springframework.beans.BeanUtils;
importorg.springframework.beans.factory.annotation.Autowired;
importjava.util.Collections;
importjava.util.List;
importjava.util.function.Supplier;
importjava.util.stream.Collectors;
/** * service基类 * @author tanghc */publicabstractclassBaseService<E, MapperextendsCrudMapper<E, Long>> {
@AutowiredprivateMappermapper;
publicMappergetMapper() {
returnmapper;
}
publicPageEasyui<E> page(Queryquery) {
returnMapperUtil.queryForEasyuiDatagrid(mapper, query);
}
public <T> PageEasyui<T> page(Queryquery, Class<T> clazz) {
returnMapperUtil.queryForEasyuiDatagrid(mapper, query, clazz);
}
publicList<E> listAll() {
returnlistAll(newQuery());
}
publicList<E> listAll(Queryquery) {
returnmapper.list(query.setQueryAll(true));
}
public <R> List<R> listAll(Supplier<R> supplier) {
List<E> list = mapper.list(newQuery().setQueryAll(true));
if (list == null || list.isEmpty()) {
returnCollections.emptyList();
}
returnlist.stream()
.map(source -> {
Rtarget = supplier.get();
BeanUtils.copyProperties(source, target);
returntarget;
})
.collect(Collectors.toList());
}
publicList<E> list(Queryquery) {
returnmapper.list(query);
}
publicList<E> list(Stringcolumn, Objectvalue) {
returnmapper.listByColumn(column, value);
}
publicEget(Queryquery) {
returnmapper.getByQuery(query);
}
publicEget(Stringcolumn, Objectvalue) {
returnmapper.getByColumn(column, value);
}
/** * 根据主键查询 * * @param id 主键 * @return 返回记录,没有返回null */publicEgetById(Longid) {
returnmapper.getById(id);
}
/** * 新增,忽略null字段 * * @param entity 新增的记录 * @return 返回影响行数 */publicintsave(Eentity) {
returnmapper.saveIgnoreNull(entity);
}
/** * 批量添加 * @param entityList 添加对象 * @return 返回影响行数 */publicintsaveBatch(List<E> entityList) {
returnmapper.saveBatch(entityList);
}
/** * 修改,忽略null字段 * * @param entity 修改的记录 * @return 返回影响行数 */publicintupdate(Eentity) {
returnmapper.updateIgnoreNull(entity);
}
/** * 删除记录 * * @param entity 待删除的记录 * @return 返回影响行数 */publicintdelete(Eentity) {
returnmapper.delete(entity);
}
}

Clone this wiki locally