分布式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.hqwc.cn/news/459487.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

图数据库 之 Neo4j - Browser 介绍(3)

Neo4j Browser 介绍 Neo4j Browser 中有 3 个模块&#xff0c;侧边栏&#xff0c;Cypher 编辑器与结果栏&#xff0c;在进入 Neo4j Browser 时结果栏会展示欢迎界面。 Cypher 编辑器 Cypher 是一种图形查询语言&#xff0c;用于查询和操作图形数据库。它是 Neo4j 图形数据库的…

提速MySQL:数据库性能加速策略全解析

提速MySQL&#xff1a;数据库性能加速策略全解析 引言理解MySQL性能指标监控和评估性能指标索引优化技巧索引优化实战案例 查询优化实战查询优化案例分析 存储引擎优化InnoDB vs MyISAM选择和优化存储引擎存储引擎优化实例 配置调整与系统优化配置调整系统优化优化实例 实战案例…

qt/c++实现表情选择框

&#x1f482; 个人主页:pp不会算法^ v ^ &#x1f91f; 版权: 本文由【pp不会算法v】原创、在CSDN首发、需要转载请联系博主 &#x1f4ac; 如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连)和订阅专栏哦 实现功能 。编解码的设计 。映射关系设计 。匹配机制设计 演示效…

K8s环境下rook-v1.13.3部署Ceph-v18.2.1集群

文章目录 1.K8s环境搭建2.Ceph集群部署2.1 部署Rook Operator2.2 镜像准备2.3 配置节点角色2.4 部署operator2.5 部署Ceph集群2.6 强制删除命名空间2.7 验证集群 3.Ceph界面 1.K8s环境搭建 参考&#xff1a;CentOS7搭建k8s-v1.28.6集群详情&#xff0c;把K8s集群完成搭建&…

Avalonia学习(二十三)-大屏

弄一个大屏显示的界面例子&#xff0c;但是代码有点多&#xff0c;还有用户控件。 目前还有一点问题在解决&#xff0c;先看一下界面效果。 圆形控件 前端代码 <UserControl xmlns"https://github.com/avaloniaui"xmlns:x"http://schemas.microsoft.com/…

ThinkPHP 中使用Redis

环境.env [app] app_debug "1" app_trace ""[database] database "" hostname "127.0.0.1" hostport "" password "" prefix "ls_" username ""[redis] hostname "127.0.0.1…

PKI - 03 密钥管理(如何进行安全的公钥交换)

文章目录 Pre密钥管理面临的挑战安全密钥管理的几种方式手动密钥交换与确认受信任的介绍 Pre PKI - 02 对称与非对称密钥算法 密钥管理面临的挑战 密钥管理面临的挑战主要包括以下几点&#xff1a; 安全的公钥交换&#xff1a;在使用基于非对称密钥算法的服务之前&#xff0c…

DC-8靶机渗透详细流程

信息收集&#xff1a; 1.存活扫描&#xff1a; arp-scan -I eth0 -l └─# arp-scan -I eth0 -l Interface: eth0, type: EN10MB, MAC: 00:0c:29:dd:ee:6a, IPv4: 192.168.10.129 Starting arp-scan 1.10.0 with 256 hosts (https://github.com/royhills/arp-scan) 192.168.10…

P2957

题目描述 The cows enjoy mooing at the barn because their moos echo back, although sometimes not completely. Bessie, ever the excellent secretary, has been recording the exact wording of the moo as it goes out and returns. She is curious as to just how mu…

电子电器架构 —— 网关测试脚本分析

电子电器架构 —— 网关测试 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师(Wechat:gongkenan2013)。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何 消耗你的人和事,多看一眼都是你的不对。非…

《幻兽帕鲁》攻略:0基础入门及游戏基础操作 幻兽帕鲁基础设施 幻兽帕鲁基础攻击力 Mac苹果电脑玩幻兽帕鲁 幻兽帕鲁加班加点

今天就跟大家聊聊《幻兽帕鲁》攻略&#xff1a;0基础入门及游戏基础操作。 如果想在苹果电脑玩《幻兽帕鲁》记得安装CrossOver哦。 以下纯干货&#xff1a; CrossOver正版安装包&#xff08;免费试用&#xff09;&#xff1a;https://souurl.cn/Y1gDao 一、基础操作 二、界面…

Docker容器配置和资源限制

​ 一、Docker容器配置进阶 1、容器的自动重启 Docker提供重启策略控制容器退出时或Docker重启时是否自动启动该容器。 容器默认不支持自动重启&#xff0c;要使用 --restart 选项指定重启策略。 [rootlocalhost ~]# docker run --help--restart string Re…