IDEA 批量添加@Repository注解到mapper接口

mpper接口属性注入时报错,一般在mapper接口上加上@Repository注解
mapper过多,需要手动添加太麻烦,网上找了个,改吧改吧,能用了,放这儿吧。

public class AddAnno {
    public static void main(String[] args) {
        addAnno();
    }
    private static  int i=0;

    public static void addAnno(){
        File file = new File("D:\\projects\\lofts-git\\web\\web-admin\\src\\main\\java\\lofts\\web\\admin\\mapper");
        list(file);
        System.out.println("总修改:"+i+"处。");
    }
    private static void list(File file){
        //获取文件夹下的所有文件
        File[] listFiles = file.listFiles();
        //遍历文件
        assert listFiles != null;
        for (File file2 : listFiles) {
            //判断是否为文件,如果是文件,就执行逻辑,如果不是文件,就递归
            if (file2.isFile()) {
                try {
                    //创建字符串,存储填充内容
                    StringBuffer content = new StringBuffer();
                    //创建缓冲流
                    BufferedReader br = new BufferedReader(new FileReader(file2));
                    //创建字符串,存储扫描内容
                    String scan="";
                    boolean change=false;
                    //循环读取文件
                    while ((scan=br.readLine())!=null) {
                        //判断是否含有public interface,如果含有就添加注解
                        if (scan.contains("public interface")) {
                            content.append("\r\n");
                            content.append("@Repository");
                            content.append("\r\n");
                            content.append(scan);
                            change=true;
                            i++;
                        }else {
                            content.append(scan);
                        }
                    }
                    br.close();
                    if (change) {
                        BufferedWriter bw = new BufferedWriter(new FileWriter(file2));
                        bw.write(content.toString());
                        bw.close();
                    }

                } catch (Exception e) {
                    e.printStackTrace();
                }
            }else {
                list(file2);
            }
        }
    }

}

参考文章:java批量添加添加注解到所有业务接口

IDEA中没有@MapperScan注解的原因可能有以下几个方面: 1. 项目中没有引入MyBatis或者Mapper依赖。@MapperScan注解是用来扫描指定包路径下的Mapper接口,并将其注册为Spring的Bean,从而实现自动注入功能。如果项目中没有引入相关的依赖,就无法使用@MapperScan注解。 2. 使用了其他方式进行Mapper的注入。在IDEA中,除了使用@MapperScan注解,也可以使用其他方式来配置Mapper的注入。例如,在Spring的配置文件中使用bean标签手动定义Mapper的Bean,或者在Mapper接口上使用@Repository注解。如果你选择了其他的配置方式,就不需要在启动类上添加@MapperScan注解。 3. 版本兼容性问题。不同版本的IDEA和相关插件可能对注解的支持有所不同。如果你使用的是较早的IDEA版本或者相关插件版本,可能不支持@MapperScan注解。在这种情况下,你可以尝试升级IDEA或者相关插件,或者选择其他合适的方式进行Mapper的注入。 总结来说,如果在IDEA中没有@MapperScan注解,可能是因为没有引入相关依赖、使用了其他方式进行注入,或者版本兼容性问题。你可以根据具体情况进行排查和调整。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [@MapperScan,@Mapper和@Repository](https://blog.csdn.net/xintingandzhouyang/article/details/123026824)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值