SpringBoot3集成Mybatis+官方代码生成器Mybatis Generator

432 阅读1分钟

为什么使用Mybatis+官方代码生成器Mybatis Generator?

因为我在实际的项目中发现使用太多的集成第三方框架使得项目感觉不稳定,所以大多数使用这个

一 ·创建模块

这是集成所以可以在你的项目中创建单独的模块用来生成代码

image.png

我自己的完整的项目结构 image.png

二 . 导入官方依赖

configurationFile : 连接数据库生成代码的配置文件, 生成的东西都是根据数据库表

	<plugins>
		<!-- mybatis generator 自动生成代码插件 -->
		<plugin>
			<groupId>org.mybatis.generator</groupId>
			<artifactId>mybatis-generator-maven-plugin</artifactId>
			<version>1.4.0</version>
			<configuration>
				<!--<configurationFile>src/main/resources/generator-config-member.xml</configurationFile>-->
				<configurationFile>src/main/resources/generator-config-member.xml</configurationFile>
				<!--<configurationFile>src/main/resources/generator-config-batch.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>
</build>

接下来创建上面所提到的路径generator-config-member.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>
    <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>

        <!-- 配置数据源,需要根据自己的项目修改 -->
        <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost/train_member?serverTimezone=Asia/Shanghai"
                        userId="train_member"
                        password="train">
        </jdbcConnection>

        <!-- domain类的位置 targetProject是相对pom.xml的路径-->
        <javaModelGenerator targetProject="../train-member/src/main/java"
                            targetPackage="com.javawa.train.member.domain"/>

        <!-- mapper xml的位置 targetProject是相对pom.xml的路径 -->
        <sqlMapGenerator targetProject="../train-member/src/main/resources"
                         targetPackage="mapper"/>

        <!-- mapper类的位置 targetProject是相对pom.xml的路径 -->
        <javaClientGenerator targetProject="../train-member/src/main/java"
                             targetPackage="com.javawa.train.member.mapper"
                             type="XMLMAPPER"/>
        <!--自己的表名-->
        <table tableName="member" domainObjectName="Member"/>
<!--        <table tableName="passenger" domainObjectName="Passenger"/>-->
    </context>
</generatorConfiguration>

以上配置完成后就可以启动了

三. 启动代码生成器

image.png

以下就是生成成功了,因为我已经有了所以出现下面的问题

image.png

image.png

更多的操作就由你们自己去探索了