mybatis generator 怎么让接口名为dao

2025-05-01 13:35:54
推荐回答(2个)
回答1:

【确认问题】mybatis generator 接口文件默认生成xxxMapper.java,实际我们可能想要xxxDao.java或者xxxManagement.java之类的。 这是我理解楼主的问题吗?

我知道目前的解决方案是自己写扩展(插件)去实现。 其实很简单,自己写一个,修改生成 的名字就可以了

下面 一段核心代码demo

 public class RenamePlugin extends PluginAdapter {
    private String  searchString = "Mapper$";
    private String  replaceString = "Dao";
    private Pattern pattern; 
    @Override
    public void initialized(IntrospectedTable introspectedTable) {
        String oldType = introspectedTable.getMyBatis3JavaMapperType();
        Matcher matcher = pattern.matcher(oldType);
        oldType = matcher.replaceAll(replaceString);

        introspectedTable.setMyBatis3JavaMapperType(oldType);
    }
 }

PluginAdapter  是mybatis generator 的一个抽象类,提供给扩展类继承的。重写

public void initialized(IntrospectedTable introspectedTable),替换生成的文件名,就ok

回答2:

但是后话要先说好,生成的实体类都是英文的注释,你需要进行修改,生成的sql会不符合你的规范,需要你进行修改,接口的话需要你在spring中进行配置



这样才能用它的接口,否则的话是使用不了的,因为mybatis没有帮你实现dao的实现层,而是只有接口就能调用xml的sql语句了,所以需要进行配置。
最后附上xml的配置文件
+ View code