freemark模板
service层,指定超类com.baomidou.mybatisplus.extension.service.IService
<#assign className = table.className>
<#assign classNameLower = className?uncap_first>
package ${package_service};
import ${package_entity}.${className};
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @Description: ${table.comment} 业务接口
* @Author: ${author}
* @Date: ${.now?string("yyyy-MM-dd")}
*/
public interface ${className}Service extends IService\<${className}\> {
}
serviceImpl,指定超类com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
package ${package.ServiceImpl};
import ${package.Entity}.${entity};
import ${package.Mapper}.${table.mapperName};
import ${package.Service}.${table.serviceName};
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* @Description: ${table.comment} 业务层
* @author ${author}
* @Date: ${.now?string["yyyy-MM-dd"]}
* @Version: V1.0
*/
@Service
public class ${table.serviceImplName} extends ${superServiceImplClass}<${table.mapperName}, ${entity}> implements ${table.serviceName} {
}
坑1:控制层,全部有那个IController,需要自己删除
坑2:服务层,全部没有尖括号,需要自己指定
坑3:实体类,因为没有指定iDtype,默认为雪花算法,需要新增idtype为auto
坑4:mapper.xml导入自己包的时候需要指定实体类对应的包,否则启动报错
坑5:注意不要生成和自己项目相同的Springboot模块,否则会直接覆盖,写的配置将会被替代
以下是示例:
service层
public interface ArticleService extends IService<Article> {
}
impl
@Slf4j
@RequiredArgsConstructor
@Service
public class CategoryServiceImpl extends ServiceImpl<CategoryMapper, Category> implements CategoryService {
}
controller
@Slf4j
@RequiredArgsConstructor
@RestController
@RequestMapping("/api/articleCategoryRel")
public class ArticleCategoryRelController {
private final ArticleCategoryRelService articleCategoryRelService;
}
实体类id:
@TableId(type = IdType.AUTO )