
com.moon.data.accessor.BaseAccessorImpl Maven / Gradle / Ivy
package com.moon.data.accessor;
import com.moon.data.Record;
import org.springframework.data.domain.*;
import org.springframework.transaction.annotation.Transactional;
import javax.persistence.EntityNotFoundException;
import java.util.List;
import java.util.Optional;
import java.util.function.Supplier;
/**
* @author moonsky
*/
@Transactional
@SuppressWarnings("all")
public abstract class BaseAccessorImpl, ID> extends AbstractAccessorImpl
implements BaseAccessor {
/**
* 构造器
*
* @param accessServeClass 将要访问的服务具体实现类型,如:UserServiceImpl
* @param domainClass 具体实体类型
*/
protected BaseAccessorImpl(Class extends BaseAccessor> accessServeClass, Class domainClass) {
super(accessServeClass, domainClass);
}
/**
* 是否存在指定{@code id}对应的数据
*
* @param id ID
*
* @return 如果存在返回 true,否则返回 false
*/
@Override
public boolean existsById(ID id) { return getAccessor().existsById(id); }
/**
* 返回表数据总数
*
* @return 总数
*/
@Override
public long count() { return getAccessor().count(); }
/**
* 插入
*
* @param entity 将要插入的对象
* @param 数据类型
*
* @return 返回插入数据后的对象
*/
@Override
@Transactional
public S insert(S entity) { return getAccessor().insert(entity); }
/**
* 保存
*
* @param entity 将要保存的对象
*
* @return 保存后的对象
*/
@Override
@Transactional
public S save(S entity) { return getAccessor().save(entity); }
/**
* 保存
*
* @param entity 将要保存的对象
*
* @return 保存后的对象
*/
@Override
@Transactional
public S saveAndFlush(S entity) { return getAccessor().saveAndFlush(entity); }
/**
* 保存
*
* @param entities 将要保存的对象
*
* @return 保存后的对象
*/
@Override
@Transactional
public List saveAll(Iterable entities) { return getAccessor().saveAll(entities); }
/**
* 保存
*
* @param first 将要保存的对象
* @param second 将要保存的对象
* @param entities 将要保存的对象
*
* @return 保存后的对象
*/
@Override
@Transactional
public List saveAll(T first, T second, T... entities) { return getAccessor().saveAll(first, second, entities); }
/**
* 查询
*
* @return 所有对象
*/
@Override
@Transactional
public List findAll() { return getAccessor().findAll(); }
/**
* 查询
*
* @param sort 排序
*
* @return 排序后的所有对象
*/
@Override
@Transactional
public List findAll(Sort sort) { return getAccessor().findAll(sort); }
/**
* 查询
*
* @param pageable 分页
*
* @return 所有分页对象
*/
@Override
@Transactional
public Page findAll(Pageable pageable) { return getAccessor().findAll(pageable); }
/**
* 查询
*
* @param example
* @param
*
* @return 所有符合条件的对象
*/
@Override
@Transactional
public Iterable findAll(Example example) { return getAccessor().findAll(example); }
/**
* 查询
*
* @param example
* @param sort 排序
* @param
*
* @return 排序后的所有对象
*/
@Override
@Transactional
public List findAll(Example example, Sort sort) { return getAccessor().findAll(example, sort); }
/**
* 查询
*
* @param example
* @param pageable 分页
* @param
*
* @return 分页对象
*/
@Override
@Transactional
public Page findAll(Example example, Pageable pageable) {
return getAccessor().findAll(example, pageable);
}
/**
* 下一页切片
*
* @param pageable 分页
*
* @return 分页对象
*/
@Override
@Transactional
public Slice sliceAll(Pageable pageable) { return getAccessor().sliceAll(pageable); }
/**
* 下一页切片
*
* @param example
* @param pageable
* @param
*
* @return
*/
@Override
@Transactional
public Slice sliceAll(Example example, Pageable pageable) {
return getAccessor().sliceAll(example, pageable);
}
/**
* 查询
*
* @param id ID
*
* @return ID 匹配的对象
*/
@Override
@Transactional
public List findAllById(Iterable ids) { return getAccessor().findAllById(ids); }
/**
* 查询
*
* @param first ID
* @param second ID
* @param id ID
*
* @return ID 匹配的对象
*/
@Override
@Transactional
public List findAllById(ID first, ID second, ID... ids) {
return getAccessor().findAllById(first, second, ids);
}
/**
* 查询
*
* @param id ID
*
* @return ID 匹配的对象
*/
@Override
@Transactional
public Optional findById(ID id) { return getAccessor().findById(id); }
/**
* 查询
*
* @param id ID
*
* @return ID 匹配的对象
*/
@Override
@Transactional
public T getById(ID id) { return getAccessor().getById(id); }
/**
* 查询
*
* @param id ID
* @param throwsMessageIfAbsent 异常消息
*
* @return ID 匹配的对象
*/
@Override
@Transactional
public T getById(ID id, String throwsMessageIfAbsent) {
return getAccessor().getById(id, throwsMessageIfAbsent);
}
/**
* 查询,抛出指定异常
*
* @param id ID
* @param throwIfAbsent 异常
* @param 异常类型
*
* @return ID 匹配的对象
*
* @throws X 异常
*/
@Override
@Transactional
public T getById(ID id, Supplier extends X> throwIfAbsent) throws X {
return getAccessor().getById(id, throwIfAbsent);
}
/**
* 查询
*
* @param id ID
*
* @return ID 匹配的对象
*
* @throws EntityNotFoundException 当 id 无法匹配到对象是抛出异常
*/
@Override
@Transactional
public T getOne(ID id) { return getAccessor().getOne(id); }
/**
* 查询
*
* @param id ID
*
* @return ID 匹配的对象或 null
*/
@Override
@Transactional
public T getOrNull(ID id) { return getAccessor().getOrNull(id); }
/**
* 删除
*
* @param id ID
*/
@Override
@Transactional
public void deleteById(ID id) { getAccessor().deleteById(id); }
/**
* 删除
*
* @param entity 将要删除的对象
*/
@Override
@Transactional
public void delete(T entity) { getAccessor().delete(entity); }
/**
* 删除
*
* @param entities 将要删除的对象
*/
@Override
@Transactional
public void deleteAll(Iterable extends T> entities) { getAccessor().deleteAll(entities); }
/**
* 删除
*
* @param first 将要删除的对象
* @param second 将要删除的对象
* @param entities 将要删除的对象
*/
@Override
@Transactional
public void deleteAll(T first, T second, T... entities) { getAccessor().deleteAll(first, second, entities); }
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy