现状及需求
使用mybatis generator自动生成文件,默认名都是XXXExample.java,XXXMapper.java,XXXMapper.xml,待过几个公司或者项目组的小伙伴就有感受,有的组要求是XXXDao.java,XXXCondition.java,XXXDao.xml,后来就自己调研能不能自定义文件后缀名,总不能每次自动生成好,再手动修改吧
解决办法
mybatis-generator-core-1.3.5.jar自带可以修改Example的文件名,generatorConfig.xml中添加如下配置项就ok了
<!--修改Example文件名-->
<plugin type="org.mybatis.generator.plugins.RenameExampleClassPlugin">
<property name="searchString" value="Example$"/>
<property name="replaceString" value="Condition"/>
</plugin>
但是修改Mapper的后缀名却没有提供,这样的话就只能修改mybatis generator的源码,参照RenameExampleClassPlugin类,添加个RenameJavaMapperPlugin,RenameXmlMapperPlugin,然后自己生成个jar吧,姑且叫mybatis-generator-core-1.3.7.jar,
配置文件中继续添加如下配置:
<!--修改Mapper文件名-->
<plugin type="org.mybatis.generator.plugins.RenameJavaMapperPlugin">
<property name="searchString" value="Mapper$" />
<property name="replaceString" value="Dao" />
</plugin>
<!--修改xml文件名-->
<plugin type="org.mybatis.generator.plugins.RenameSqlMapperPlugin">
<property name="searchString" value="Mapper" />
<property name="replaceString" value="Dao" />
</plugin>
运行命令为:java -jar mybatis-generator-core-1.3.7.jar -configfile generatorConfig.xml -overwrite
PS:
1.mybatis generator的github源码地址为:https://github.com/mybatis/generator
2.RenameJavaMapperPlugin文件源码为:
/** * Copyright ${license.git.copyrightYears} the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed u