templates.enjoy.serviceImpl.tpl Maven / Gradle / Ivy
#set(isCacheExample = serviceImplConfig.cacheExample)
#set(primaryKey = table.getPrimaryKey().getProperty())
#set(entityClassName = table.buildEntityClassName())
package #(packageConfig.serviceImplPackage);
import #(serviceImplConfig.buildSuperClassImport());
import #(packageConfig.entityPackage).#(table.buildEntityClassName());
import #(packageConfig.mapperPackage).#(table.buildMapperClassName());
import #(packageConfig.servicePackage).#(table.buildServiceClassName());
import org.springframework.stereotype.Service;
#if(isCacheExample)
import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.query.QueryWrapper;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.cache.annotation.CacheConfig;
import org.springframework.cache.annotation.CacheEvict;
import java.io.Serializable;
import java.util.Collection;
import java.util.List;
#end
/**
* #(table.getComment()) 服务层实现。
*
* @author #(javadocConfig.getAuthor())
* @since #(javadocConfig.getSince())
*/
@Service
#if(isCacheExample)
@CacheConfig(cacheNames = "#(firstCharToLowerCase(entityClassName))")
#end
public class #(table.buildServiceImplClassName()) extends #(serviceImplConfig.buildSuperClassName())<#(table.buildMapperClassName()), #(table.buildEntityClassName())> implements #(table.buildServiceClassName()) {
#if(isCacheExample)
@Override
@CacheEvict(allEntries = true)
public boolean remove(QueryWrapper query) {
return super.remove(query);
}
@Override
@CacheEvict(key = "#id")
public boolean removeById(Serializable id) {
return super.removeById(id);
}
@Override
@CacheEvict(allEntries = true)
public boolean removeByIds(Collection extends Serializable> ids) {
return super.removeByIds(ids);
}
@Override
@CacheEvict(allEntries = true)
public boolean update(#(entityClassName) entity, QueryWrapper query) {
return super.update(entity, query);
}
@Override
@CacheEvict(key = "#entity.#(primaryKey)")
public boolean updateById(#(entityClassName) entity, boolean ignoreNulls) {
return super.updateById(entity, ignoreNulls);
}
@Override
@CacheEvict(allEntries = true)
public boolean updateBatch(Collection<#(entityClassName)> entities, int batchSize) {
return super.updateBatch(entities, batchSize);
}
@Override
@Cacheable(key = "#id")
public #(entityClassName) getById(Serializable id) {
return super.getById(id);
}
@Override
@Cacheable(key = "#root.methodName + ':' + #query.toSQL()")
public #(entityClassName) getOne(QueryWrapper query) {
return super.getOne(query);
}
@Override
@Cacheable(key = "#root.methodName + ':' + #query.toSQL()")
public R getOneAs(QueryWrapper query, Class asType) {
return super.getOneAs(query, asType);
}
@Override
@Cacheable(key = "#root.methodName + ':' + #query.toSQL()")
public Object getObj(QueryWrapper query) {
return super.getObj(query);
}
@Override
@Cacheable(key = "#root.methodName + ':' + #query.toSQL()")
public R getObjAs(QueryWrapper query, Class asType) {
return super.getObjAs(query, asType);
}
@Override
@Cacheable(key = "#root.methodName + ':' + #query.toSQL()")
public List