Spring Boot中使用MyBatis逆向生成代码

时光旅行者酱 2023-12-10 ⋅ 21 阅读

在Spring Boot项目中,使用MyBatis逆向工程可以快速生成数据库表对应的实体类、Mapper接口以及XML映射文件。逆向生成代码可以减少开发人员的重复劳动,提高工作效率,本文将介绍如何在Spring Boot中使用MyBatis逆向生成代码。

准备工作

在开始之前,需要创建一个Spring Boot项目,并将MyBatis和MyBatis Generator的依赖添加到项目的pom.xml文件中。具体的依赖如下:

<dependencies>
    ...
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>2.1.3</version>
    </dependency>
    <dependency>
        <groupId>org.mybatis.generator</groupId>
        <artifactId>mybatis-generator-core</artifactId>
        <version>1.3.7</version>
    </dependency>
    ...
</dependencies>

配置文件

在Spring Boot项目的配置文件application.properties(或application.yml)中,需要配置数据库连接信息以及逆向生成代码的相关配置。以下是一个示例配置文件:

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC
    username: root
    password: password

mybatis:
  configuration:
    map-underscore-to-camel-case: true
  mapper-locations: classpath:mapper/*.xml

mybatis.generator.configurationFile: classpath:mybatis/generatorConfig.xml

上述配置中,首先配置了数据库连接信息,包括驱动、URL、用户名和密码。然后配置了MyBatis的一些参数,如下划线和驼峰命名规则的映射。最后,配置了逆向生成代码的配置文件路径。

配置文件

在src/main/resources目录下创建一个名为mybatis的文件夹,并在该文件夹下创建一个名为generatorConfig.xml的文件。generatorConfig.xml是逆向生成代码的配置文件,具体的配置内容可以根据项目的需要进行修改。

以下是一个示例的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>
    <context id="MyBatis" targetRuntime="MyBatis3Simple" defaultModelType="flat">
        <commentGenerator>
            <property name="suppressDate" value="true"/>
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>

        <jdbcConnection driverClass="${spring.datasource.driver-class-name}"
                        connectionURL="${spring.datasource.url}"
                        userId="${spring.datasource.username}"
                        password="${spring.datasource.password}">
        </jdbcConnection>

        <javaModelGenerator targetPackage="com.example.demo.model"
                            targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>

        <sqlMapGenerator targetPackage="mapper"
                         targetProject="src/main/resources">
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>

        <javaClientGenerator type="XMLMAPPER"
                             targetPackage="com.example.demo.mapper"
                             targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>

        <table tableName="user"/>
    </context>
</generatorConfiguration>

上述配置文件中,首先指定了逆向生成代码的目标环境为MyBatis3Simple,然后配置了数据库连接信息,即driverClass、connectionURL、userId和password。接着指定了逆向生成代码的目标包和目标项目的路径。最后,配置了要生成代码的数据表名称。

生成代码

在完成上述配置后,可以使用MyBatis Generator生成代码了。通过Maven命令运行MyBatis Generator:

mvn mybatis-generator:generate

运行上述命令后,MyBatis Generator会根据generatorConfig.xml中的配置信息自动生成代码。生成的代码将位于指定的目标包下。

使用生成的代码

生成的代码包括实体类、Mapper接口以及XML映射文件,可以直接在Spring Boot项目中使用。只需要将生成的代码复制到对应的包下,并根据实际情况进行修改即可。

以生成的User实体类和UserMapper接口为例,可以在Spring Boot的Service中使用UserMapper进行数据库操作,如下所示:

@Service
public class UserService {

    @Autowired
    private UserMapper userMapper;

    public User findUserById(Long id) {
        return userMapper.selectByPrimaryKey(id);
    }
}

总结

通过使用MyBatis逆向生成代码,可以减少开发人员的重复劳动,提高开发效率。在Spring Boot项目中使用MyBatis逆向生成代码非常方便,只需简单配置一下即可。希望本文能帮助你快速上手使用MyBatis逆向生成代码,提高开发效率。


全部评论: 0

    我有话说: