MyBatisGenerator生成文件自定义名字-MBG扩展
来源:互联网 发布:淘宝客一键复制淘口令 编辑:程序博客网 时间:2024/06/06 21:33
可设置Mapper后缀为任意名如(DeptDao)
一个例子
<table tableName="dept" domainObjectName="emp." mapperName="emp.DeptDao">
上面的配置会生成
- bean.emp.Dept
- bean.emp.DeptQuery(用到MBG提供的插件,下面贴出)
- dao.emp.DeptDao
- dao.emp.DeptDao.xml
在MBG1.3.4之后添加了mapperName属性,能够指定生成Mapper的名字和指定的包名,看着方便但是如果数据库中的表有几百张,都要手配可就麻烦了。
mybatis可以使用通配符进行全表的逆向生成<table tableName="%"/>
但是此时mapperName的属性就失效了,但需求是仍然按指定名字生成那该怎么办呢?
在借鉴了
isea533 的 MyBatis Generator 1.3.4 扩展,可以设置 Mapper(Dao)后缀这篇博文 &&
一枝花算不算浪漫 的 Mybatis逆向工程构建项目实例.
两篇原创博文后对插件代码进行了修改。
更后的配置形式<table tableName="%" domainObject="emp." mapperName="emp.{0}"/>
用{0}
进行补位,填充的值是MBG根据表明自动生成的对象名。
如:扫描到的表名是emp则会生成Emp。将Emp吧{0}
替换掉。
代码解释
更改生成文件名的插件配置。
<!-- 此处是将Example改名为Criteria 当然 想改成什么都行~ --> <plugin type="org.mybatis.generator.plugins.RenameExampleClassPlugin"> <property name="searchString" value="Example$" /> <!-- 替换后 <property name="replaceString" value="Criteria" /> --> <property name="replaceString" value="Query" /> </plugin> <!-- 此处是将UserMapper.xml改名为UserDao.xml 当然 想改成什么都行~ --> <plugin type="org.mybatis.generator.plugins.rename.RenameSqlMapperPlugin"> <property name="searchString" value="Mapper" /> <property name="replaceString" value="Dao" /> </plugin> <!-- 此处是将UserMapper改名为UserDao 接口 当然 想改成什么都行~ --> <plugin type="org.mybatis.generator.plugins.rename.RenameJavaMapperPlugin"> <property name="searchString" value="Mapper$" /> <property name="replaceString" value="Dao" /> </plugin>
替换{0}
的文件
<context targetRuntime="org.mybatis.generator.plugins.table.TkMyBatis3Impl">
targetRunteim详细说名见isea533 的 MyBatis Generator 1.3.4 扩展,可以设置 Mapper(Dao)后缀,我说不清楚
isea533的TkMyBatis3Impl需要指定{0}Dao
的形式但是,上面的插件中已经提供了将Mapper改名为Dao的形式,要自定义的后坠是通过
RenameSqlMapperPlugin,RenameJavaMapperPlugin这两个插件进行
配置的,通过查看TkMyBatis3Impl中 {0}
占位符替换的实现发现,他是直接将mapperName属性的值取出来直接把{0}
替换成TableName,所以现在的文件名是TableNameDao形式。而在RenameSqlMapperPlugin中是通过检查生成的文件名是否带有Mapper关键字,将Mapper关键字替换为在配置文件中写的Dao。要说明一下RenameSqlMapperPlugin是在TkMyBatis3Impl之后被调用的,所以要想让RenameSqlMapperPlugin需要在TkMyBatis3Impl生成的Mapper名字后面追加Mapper字串。
完整代码
- MyBatisGenerator生成文件自定义名字-MBG扩展
- MBG(mybatisgenerator)自动生成工具
- idea使用MybatisGenerator逆向生成DAO文件
- 无法生成MBG文件的一个原因
- MybatisGenerator的自动生成
- Studio多渠道打包并生成自定义apk文件名字
- 安卓自定义打包生成的文件名字
- MBG自动代码生成
- MBG代码生成
- myBatisGenerator
- eclipse使用MyBatisGenerator自动生成相关文件出错:project does not exist
- 2分钟使用mybatisGenerator自动生成dao和mapper文件——使用cmd命令行
- mybatis自动生成工具-MBG
- Mybatis自动代码生成插件MybatisGenerator使用
- MyBatisGenerator的自动生成代码之Eclipse
- MyBatisGenerator的自动生成代码之MyEclipse
- MyBatisGenerator的自动生成代码之MyEclipse
- MyBatisGenerator的自动生成代码之Eclipse
- 一种简单分页控件的实现
- MYSQL--case...when...then
- Node.js npm cheerio
- find命令详解
- Qt5下通过CMake创建CTK插件的步骤
- MyBatisGenerator生成文件自定义名字-MBG扩展
- 微信公众帐号开发教程第17篇-应用实例之智能翻译
- Fiddler大师之路系列(一)
- SQL365-报表技术
- 冒泡 快速 堆排序 归并排序学习示例
- 迷宫问题(求最短路径长度和最短路径)
- No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
- Electron学习笔记Part1-安装与配置
- WebView中遇见的一些问题