SpringBoot代码生成器generator使用教程

本文详细介绍了如何在SpringBoot项目中集成MyBatisGenerator,实现代码自动化生成。同时,讲解了Lombok的使用,包括各种注解以简化代码。接着,提到了RestTemplate在微服务间调用的应用。此外,还探讨了SpringCloudAlibaba的整合步骤,以及BeansUtil在对象复制中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MyBatis Generator使用

MyBatis自动装配 MyBatis generator插件 使用方法
首先引入插件,引入依赖

<dependency>
            <groupId>tk.mybatis</groupId>
            <artifactId>mapper-spring-boot-starter</artifactId>
            <version>2.1.5</version>
</dependency>
<build>
       <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.6</version>
                <configuration>
                    <configurationFile>
                        ${basedir}/src/main/resources/generator/generatorConfig.xml
                    </configurationFile>
                    <overwrite>true</overwrite>
                    <verbose>true</verbose>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>8.0.16</version>
                    </dependency>
                    <dependency>
                        <groupId>tk.mybatis</groupId>
                        <artifactId>mapper</artifactId>
                        <version>4.1.5</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>

编写配置文件

<!DOCTYPE generatorConfiguration
    PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
    "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">

<generatorConfiguration>
    <properties resource="generator/config.properties"/>

    <context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat">
        <property name="beginningDelimiter" value="`"/>
        <property name="endingDelimiter" value="`"/>

        <plugin type="tk.mybatis.mapper.generator.MapperPlugin">
            <property name="mappers" value="tk.mybatis.mapper.common.Mapper"/>
            <property name="caseSensitive" value="true"/>
            <property name="lombok" value="Getter,Setter,ToString"/>
        </plugin>

        <jdbcConnection driverClass="${jdbc.driverClass}"
                        connectionURL="${jdbc.url}"
                        userId="${jdbc.user}"
                        password="${jdbc.password}">
        </jdbcConnection>

        <!--实体-->
        <javaModelGenerator targetPackage="com.itmuch.usercenter.domain.entity.${moduleName}"
                            targetProject="src/main/java"/>

        <!--mapper.xml-->
        <sqlMapGenerator targetPackage="com.itmuch.usercenter.dao.${moduleName}"
                         targetProject="src/main/resources"/>

        <!--mapper接口-->
        <javaClientGenerator targetPackage="com.itmuch.usercenter.dao.${moduleName}"
                             targetProject="src/main/java"
                             type="XMLMAPPER"/>

        <!--为哪张表生成代码-->
        <table tableName="${tableName}">
            <generatedKey column="id" sqlStatement="JDBC"/>
        </table>
    </context>
</generatorConfiguration>

配置要进行自动装配的类

jdbc.driverClass=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/user_center?nullCatalogMeansCurrent=true
jdbc.user=root
jdbc.password=12345678

# \u6A21\u5757\u540D\u79F0
moduleName=bonus
# \u8868\u540D
tableName=bonus_event_log

Lombok使用

首先通过IDEA安装Lombok插件,并且在POM文件中引入Lombok的依赖

<dependency>
       <groupId>org.projectlombok</groupId>
       <artifactId>lombok</artifactId>
       <version>1.18.6</version>
</dependency>

Lombok注解
@EqualsAndHashCode :hashCode与Equals方法
@Getter :get方法
@Setter :set方法
@ToString :toString方法
@Data :以上四个的结合
@NoArgsConstructor :无参构造函数
@AllArgsConstructor :全参构造函数
@Builder :通过Build()方法可以简便的向对象中存放值

RestTemplate

RestTemplate是一种可以访问到其他服务的请求,通过发起HTTP请求来访问其他服务中的Controller。
使用方法:声明RestTemplate,使用getForObject()或者其他的方法可以获取到对应接口中的值,不过两个服务最好请求的对象是同一个。

BeansUtil

通过BeansUtil可以快速的Copy两个对象,无须一遍一遍的赋值。

SpringCloud Alibaba

SpringCloud Alibaba是SpringCloud的子项目,并且已经包含在了SpringCloud中,alibaba将传统SpringCloud中的某些快速构建微服务的工具进行了升级或者替换。

SpringCloud整合SpringCloud Alibaba需要先整合SpringBoot版本,之后配置SpringCloud版本,最后配置SpringCloud Alibaba。

<dependencyManagement>
        <dependencies>
            <!--整合spring cloud-->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Greenwich.SR1</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <!--整合spring cloud alibaba-->
         	<dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>0.9.0.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
</dependencyManagement>
<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <!--语义化的版本控制-->
        <!--2:主版本,第几代-->
        <!--1:次版本,一些功能的增加,但是架构没有太大的变化,是兼容的-->
        <!--5:增量版本,bug修复-->
        <!--release:里程碑,SNAPSHOT:开发版 M:里程碑 RELEASE:正式版-->
        <version>2.1.5.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
</parent>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值