当前位置: 首页 > news >正文

分布式springboot 3项目集成mybatis官方生成器开发记录

文章目录

  • 说明
  • 实现思路
  • 实现步骤
    • 第一步:创建generator子模块
    • 第二步:引入相关maven插件和依赖
    • 第三步:编写生成器配置文件
    • 第四步:运行·查看结果

说明

  • 该文章为作者开发学习记录,方便以后复习和交流
  • 主要内容为:分布式springboot3 项目集成mybatis官方生成器开发记录,创建单独的generator模块进行单表的domain、mapper和mapper.xml的内容生成
  • 这里以Mysql8为案例进行演示,如果你使用的MySQL5,请使用合适的mysql驱动和修改连接配置的driverClass为com.mysql.jdbc.Driver
  • 如果您要使用的话,请修改需要修改的内容和具体项目适配

实现思路

  1. 创建generator子模块
  2. 引入maven依赖和generator插件
  3. 编写生成器配置文件,运行generator子模块

实现步骤

第一步:创建generator子模块

  • generator子模块为普通的maven项目
    在这里插入图片描述

第二步:引入相关maven插件和依赖

  • 编辑generator子模块的pom依赖配置文件,添加如下内容(mysql8版本适用)
 <build><plugins><!-- mybatis generator 自动生成代码插件 --><plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-maven-plugin</artifactId><version>1.4.0</version><configuration><!--config文件位置--><configurationFile>src/main/resources/generator-config-x.xml</configurationFile><overwrite>true</overwrite><verbose>true</verbose></configuration><dependencies><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.22</version></dependency></dependencies></plugin></plugins>

第三步:编写生成器配置文件

  • 在generator子模块中编写src/main/resources/generator-config-x.xml文件,参考内容如下:
  • 如果IDEA在文件头部的URL爆红,忽略即可
  • 填写具体的数据连接配置和子模块的名称
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfigurationPUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"><generatorConfiguration><context id="Mysql" targetRuntime="MyBatis3" defaultModelType="flat"><!-- 自动检查关键字,为关键字增加反引号 --><property name="autoDelimitKeywords" value="true"/><property name="beginningDelimiter" value="`"/><property name="endingDelimiter" value="`"/><!--覆盖生成XML文件--><plugin type="org.mybatis.generator.plugins.UnmergeableXmlMappersPlugin" /><!-- 生成的实体类添加toString()方法 --><plugin type="org.mybatis.generator.plugins.ToStringPlugin"/><!-- 不生成注释 --><commentGenerator><property name="suppressAllComments" value="true"/></commentGenerator><!-- 配置mysql8数据源,需要根据自己的项目修改 --><jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"connectionURL="jdbc:mysql://localhost:3306/xxx?serverTimezone=Asia/Shanghai&amp;characterEncoding=UTF-8"userId="xxx"password="xxx"></jdbcConnection><!-- domain类的位置 targetProject是相对pom.xml的路径--><javaModelGenerator targetProject="../相应的子模块名称/src/main/java"targetPackage="com.yang.train.x.domain"/><!-- mapper xml的位置 targetProject是相对pom.xml的路径 --><sqlMapGenerator targetProject="../相应的子模块名称/src/main/resources"targetPackage="mapper"/><!-- mapper类的位置 targetProject是相对pom.xml的路径 --><javaClientGenerator targetProject="../相应的子模块名称/src/main/java"targetPackage="com.yang.train.x.mapper"type="XMLMAPPER"/><table tableName="x" domainObjectName="x"/><!--<table tableName="passenger" domainObjectName="Passenger"/>--><!--<table tableName="ticket" domainObjectName="Ticket"/>--></context>
</generatorConfiguration>

第四步:运行·查看结果

  • 打开IDEA右侧的maven窗口,选择生成器插件点击运行即可
    在这里插入图片描述
[INFO] Scanning for projects...
[INFO] 
[INFO] ----------------------< com.yang:train-generator >----------------------
[INFO] Building train-generator 0.0.1-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- mybatis-generator-maven-plugin:1.4.0:generate (default-cli) @ train-generator ---
[INFO] Connecting to the Database
[INFO] Introspecting table x
[INFO] Generating Example class for table x
[INFO] Generating Record class for table x
[INFO] Generating Mapper Interface for table x
[INFO] Generating SQL Map for table x
[INFO] Saving file xMapper.xml
[INFO] Saving file xExample.java
[INFO] Saving file x.java
[INFO] Saving file xMapper.java
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  1.204 s
[INFO] Finished at: 2024-02-07T12:30:58+08:00
[INFO] ------------------------------------------------------------------------
http://www.lryc.cn/news/300037.html

相关文章:

  • 算法学习——LeetCode力扣回溯篇4
  • c++ STL系列——(六)multimap
  • Json-序列化字符串时间格式问题
  • HarmonyOS鸿蒙学习基础篇 - 自定义组件(一)
  • 开窗,挖槽,放电齿,拼版
  • [Vue的组件通讯.sync修饰]Vue中.sync的使用方法和实现的方式 代码注释
  • Java 基于springboot+vue在线外卖点餐系统,附源码
  • Decian 12.x基于LNMP安装phpIPAM(IP管理系统)
  • 【多模态MLLMs+图像编辑】MGIE:苹果开源基于指令和大语言模型的图片编辑神器(24.02.03开源)
  • hpp文件:C++开发中的利器
  • 如何查看电脑连接的wifi的密码
  • QTabWidget和QTabBar控件样式设置(qss)
  • 【智能家居入门3】(MQTT服务器、MQTT协议、微信小程序、STM32)
  • C语言第二十四弹---指针(八)
  • m1芯片xcode15编译cocos2dx一些报错处理
  • 代码+视频基于R语言进行K折交叉验证
  • 第一篇【传奇开心果系列】Python的pyttsx3库技术点案例示例:文本转换语言
  • @ 代码随想录算法训练营第7周(C语言)|Day43(动态规划)
  • 深度学习的新进展:探索人工智能的未来
  • Vue中@change、@input和@blur、@focus的区别及@keyup介绍
  • Raspbian简易RTSP服务
  • 【ASP.NET 6 Web Api 全栈开发实战】--前言
  • 跳过mysql8.0密码重置密码 Shell脚本
  • Maven之安装自定义jar到本地Maven仓库中
  • SPI控制8_8点阵屏
  • 2.10
  • 计算机服务器中了360后缀勒索病毒怎么办?360后缀勒索病毒处理流程
  • BigDecimal的常用API
  • Android---Jetpack Compose学习005
  • 安卓价值1-如何在电脑上运行ADB