每期一个小窍门: 通过JavaPoet 生成泛型类

最近使用javapoet 遇到了个小问题
需要生成类似

package mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import model.AAA;
import org.springframework.stereotype.Service;

@Service
public interface AAAMapper extends BaseMapper<AAA> {
    
    
}

代码如下:

         String className = "AAA";
        // 类可见范围
        TypeSpec.Builder typeSpecBuilder = TypeSpec.interfaceBuilder(className + "Mapper");

        // 继承接口的的传入泛型

//        TypeSpec.Builder superClassBuilder = TypeSpec.interfaceBuilder(className).addTypeVariable(typeVariable);
        ClassName superClassName = ClassName.get("com.baomidou.mybatisplus.core.mapper", "BaseMapper");
//        ParameterizedTypeName.get(BaseMapper.class, TypeName.get(typeSpecBuilder.));

        typeSpecBuilder.addSuperinterface(ParameterizedTypeName.get(superClassName, ClassName.get(CodeGeneratorService.MODEL_PACKAGE_NAME, className)));

        typeSpecBuilder.addModifiers(Modifier.PUBLIC);
        typeSpecBuilder.addAnnotation(makeServiceAnnotationSpec("org.springframework.stereotype"));

        JavaFile.Builder javaFileBuilder = JavaFile.builder(packageName, typeSpecBuilder.build());

猜你喜欢

转载自blog.csdn.net/qq_33709508/article/details/129925129
今日推荐