
derepositories.jcommons-tools-mbg.1.0.v201602292337.source-code.README.xml Maven / Gradle / Ivy
The newest version!
Mybatis Generator 工具的辅助工具 背景 项目使用了Mybatis框架来作为与数据库进行交互。 项目中与数据库交互的代码(Entity.java, Mapper.java, Mapper.xml), 都是通过Mybatis Generator(下面简称MBG)工具来生成的。 在项目的整个生命周期中,数据库或多或少都会有些改动。每次改动之后都需要使用 MBG工具来重新生成与数据库交互所需的代码。 这样就会出现一个问题: 在Entity.java, Mapper.java, Mapper.xml 手动编写的代码,在使用MBG工具生成代码自后,都会被覆盖。 那样怎么做到在MBG生成代码之后,能够保留原先手动编写的代码。 需求 1. 在使用MBG生成代码前,对上一次MBG生成的代码进行备份 2. 在使用MBG生成代码失败时,还原最新的MBG的备份 3. 在每次使用MBG生成代码之前,把在原先MBG生成代码的基础上手动编写的代码记录下来 记录详细规则: 4. 在每次使用MBG生成代码之后,都能够把上次手动修改的代码添加进去 设计 核心问题: a.怎么获取在MBG生成代码的基础上手动编写的代码? 1.扫描MBG生成的代码文件,查找手动编写的代码内容 定义手编写代码区域的其实和结束边界 custom code start limit .*CUSTOM_CODE_START.* custom code end limit .*CUSTOM_CODE_END.* 2.把扫描的记录存放到一个文件 #文件1全路径 手动编写代码内容 #文件2全路径 手动编写代码内容 #文件n全路径 手动编写代码内容 b.获取到手动编写的代码后,怎么在MBG自动生成代码后添加进去? 1.读取手动代码记录文件 遍历每一个文件对应的手动编码的代码内容 追加到该文件的末尾的上一行 .java文件 .xml文件 以配置文件的形式来使用该辅助工具 mybatisGeneratorConfig.xml customConfig.xml 接口 加载配置 xml -> bean 使用XStream组件就行解析 合并配置 对table就行合并 保存自定义代码 生成代码 删除需要更新的文件 生成需要更新的文件 添加自定义代码到新的文件 V1.1版本 把customConfig.xml 合并到 generatorConfig.xml(会有DTD解析错误,放到以后的版本解决) 把mbgConfig.xml 修改为 generatorConfig.xml,遵循Mybatis Generator 默认的命名规则 增加备份、恢复功能 在生成新的代码前,对之前生成的代码就行备份 /mbg /时间戳 /javaModel (Entity.java) /sqlMap (Mapper.xml) /javaClient (Mapper.java) customContent 生成新代码失败后,回滚所有操作,恢复操作前的状态 发生异常,进行回滚 v1.2版本 添加Maven插件版本 调整框架结构,做到容易扩展 https://github.com/binshaoqq/Nirvana.git 转让时间规则: 转让开始时间 大于当前时间 不超过第二天结束时间 转让结束时间 大于转让开始时间 与转让开始时间在同一天 mvn jcommons-plugins-mbg:touch // 测试覆盖 cobertura-maven-plugin // maven插件教程 https://maven.apache.org/guides/plugin/guide-java-plugin-development.html http://www.tuicool.com/articles/uaqyAn http://www.jianshu.com/p/a8f5830bbd98 mvn -Dmaven.surefire.debug="-Xdebug" clean test
© 2015 - 2025 Weber Informatics LLC | Privacy Policy