玩转微服务-自动生成工具(微服务代码生成器)

玩转微服务-自动生成工具(微服务代码生成器)

大家好,结合上一篇介绍父包配置多个模块,为何要配置多个模块呢?

1. 方便解耦,独立运行;

2. 支持不同的数据源;

3. 按需依赖,比如子服务包yl-chis(服务)我只需要依赖parent-chis里面的mapper相关接口就可以了;如yl-report报表统计可能需要依赖多个父模块。

玩转微服务-自动生成工具(微服务代码生成器)

那model,mapper里面的代码都需要自己敲吗?可以自己敲,也可以通过mybatis的自动生成工具generatorConfiguration,下面就结合项目介绍下该工具的使用

1.首先在对应模块parent-public的pom中配置plugin

玩转微服务-自动生成工具(微服务代码生成器)

注意:这个plugin使用dependencies引入了mysql 的驱动和mybatis的相关jar包,这个不能省略

2.结合plugin配置指向的src/main/resources/generatorConfig.xml创建生成工具

玩转微服务-自动生成工具(微服务代码生成器)

<?xml version=\”1.0\” encoding=\”UTF-8\”?><!DOCTYPE generatorConfiguration PUBLIC \”-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN\” \”http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd\”><generatorConfiguration><!–指定驱动的路径–> <classPathEntry location=\”d:/mysql-connector-java-5.1.38.jar\” /> <context id=\”mybatisDemoForMysql\” targetRuntime=\”MyBatis3\”> <plugin type=\”org.mybatis.generator.plugins.CaseInsensitiveLikePlugin\”></plugin> <plugin type=\”org.mybatis.generator.plugins.SerializablePlugin\”></plugin> <!– Pagination –> <plugin type=\”com.gy.mybatisGenerator.plugin.MySQLPaginationPlugin\”></plugin> <!– 控制注释 –> <commentGenerator> <!– 是否去除所有自动生成的注释文件 –> <property name=\”suppressAllComments\” value=\”true\” /> <!– 是否去除所有自动生成的文件的时间戳,默认为false –> <property name=\”suppressDate\” value=\”true\” /> </commentGenerator> <!– 指向数据库 –> <jdbcConnection driverClass=\”com.mysql.jdbc.Driver\” connectionURL=\”jdbc:mysql://****:3306/public\” userId=\”\” password=\”\”> </jdbcConnection> <javaTypeResolver> <!– 把jdbc中的decimal与numberic类型转化为integer类型 –> <property name=\”forceBigDecimals\” value=\”false\” /> </javaTypeResolver> <!– 数据库表对应的model –> <javaModelGenerator targetPackage=\”com.zw.basic.model\” targetProject=\”../parent-common/src/main/java\”> <property name=\”enableSubPackages\” value=\”true\” /> <property name=\”trimStrings\” value=\”true\” /> </javaModelGenerator> <!– 控制Model的xmlMapper文件 –> <sqlMapGenerator targetPackage=\”com.zw.parent.basic.mapper\” targetProject=\”src/main/java\”> <property name=\”enableSubPackages\” value=\”true\” /> </sqlMapGenerator> <!– 控制mapper接口 –> <javaClientGenerator targetPackage=\”com.zw.parent.basic.mapper\” type=\”XMLMAPPER\” targetProject=\”src/main/java\”> <property name=\”enableSubPackages\” value=\”true\” /> <property name=\”methodNameCalculator\” value=\”extended\” /> </javaClientGenerator> <table tableName=\”tb_user\” domainObjectName=\”User\” enableCountByExample=\”true\” enableUpdateByExample=\”true\” enableDeleteByExample=\”true\” enableSelectByExample=\”true\” selectByExampleQueryId=\”true\”> <!– 指定数据库自增字段 –> <generatedKey column=\”user_id\” sqlStatement=\”Mysql\”/> </table> </context></generatorConfiguration>

3.项目执行方式

在idea添加一个“Run运行”选项,使用maven运行mybatis-generator-maven-plugin插件

Step1:选择配置edit configuration

玩转微服务-自动生成工具(微服务代码生成器)

Step2:创建maven运行项

玩转微服务-自动生成工具(微服务代码生成器)

Step3:配置命令 mybatis-generator:generate -e

玩转微服务-自动生成工具(微服务代码生成器)

注意:

working directory要指向具体哪个模块的生成工具generate;

mybatis-generator:generate -e 其中-e为了让插件输出详细信息,方便定位问题;

4.点击运行看效果

玩转微服务-自动生成工具(微服务代码生成器)玩转微服务-自动生成工具(微服务代码生成器)

己经达到效果,自动生成了model及mapper,另外generate生成工具只对单表生成,多表联合需要自己写

5.现在我们编译看效果

玩转微服务-自动生成工具(微服务代码生成器)

编译成功,己发布到本地库,现在子项目就自动依赖了

6.启动看效果

玩转微服务-自动生成工具(微服务代码生成器)玩转微服务-自动生成工具(微服务代码生成器)

谢谢大家多多关注,想要代码及学习资料的关注私信我,谢谢!!!

玩转微服务-自动生成工具(微服务代码生成器)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2024年3月29日 下午12:26
下一篇 2024年3月29日 下午12:38

相关推荐

  • 宣城市宣州区“党建+五个强化”提升社区治理水平(加强社区党组织建设,提升社区综合治理水平)

    来源:人民网-安徽频道 近年来,宣城市宣州区坚持党建引领,统筹各类资源,完善基层自治体系和提升治理能力,夯实村民小组和网格化管理基础,聚焦服务党员群众,不断激发基层治理新动能,提升…

    科研百科 2023年11月7日
    133
  • 中级信息系统项目管理

    中级信息系统项目管理 随着信息技术的不断发展,信息系统项目管理已经成为了一个热门领域。作为一个需要掌握多个技能和知识的领域,中级信息系统项目管理对于想要进入信息技术行业的人员来说是…

    科研百科 2025年1月6日
    0
  • 高中化学课题申报(高中生化学科研项目)

    高中生化学科研项目 高中生化学科研项目是一种有趣且富有挑战性的活动,它要求高中生利用自己的知识和技能,完成一些具有科学意义和实际应用的化学实验。这些实验不仅可以帮助学生提高化学知识…

    科研百科 2024年8月5日
    43
  • 首款“联想企业碳核算平台”及碳普惠平台“联想乐碳圈”推出

    6月14日,在联想与中国环境报社联合举办的主题为“数字化创新加速企业绿色低碳发展”新IT思享会上,联想重磅推出了首款面向企业的“联想企业碳核算平台”,及面向联想内部员工的碳普惠平台…

    科研百科 2022年7月19日
    238
  • 科研项目a和b的区别在哪儿(科研项目a和b的区别在哪)

    科研项目a和b的区别在哪 科研项目a和b的区别在哪?这两个项目都是用来研究某种现象或问题的,但它们有一些重要的区别。 首先,项目a和b的研究方法不同。项目a使用了传统的科学研究方法…

    科研百科 2024年8月4日
    61
  • 信息系统项目管理师有含金量吗

    信息系统项目管理师是一种拥有高度专业化技能的证书,可以提高个人的职业发展和薪资待遇。随着信息技术的快速发展,信息系统项目管理师的需求也越来越大。那么,信息系统项目管理师的含金量是什…

    科研百科 2024年9月23日
    29
  • 横向科研项目的定义标准

    横向科研项目的定义标准 横向科研项目是指由不同组织或机构合作完成的科研项目,这些项目通常涉及到不同的学科领域或技术领域,并且涉及到多个方面的资源和投入。横向科研项目通常由不同的专家…

    科研百科 2025年4月9日
    2
  • 信息管理科研项目申请书怎么写(信息管理科研项目申请书)

    信息管理科研项目申请书 尊敬的评审委员会: 我谨向贵委员会申请一项关于信息管理领域的科研项目,项目名称为“信息资源管理研究”。 本研究旨在探究信息资源管理的现状和发展趋势,提出新的…

    科研百科 2024年4月3日
    91
  • 项目 技术状态管理系统

    项目技术状态管理系统 随着软件开发领域的快速发展,项目技术状态管理系统已经成为了软件开发过程中必不可少的一部分。一个完善的项目技术状态管理系统可以帮助软件开发团队更好地管理项目进度…

    科研百科 2024年12月20日
    0
  • 项目管理规划大纲是

    项目管理规划大纲 项目管理规划大纲是项目管理中的重要工具,用于规划、组织和控制项目的过程和结果。一个好的项目管理规划大纲可以帮助项目经理更好地了解项目的需求、目标、范围、风险和关键…

    科研百科 2025年7月30日
    0