您的位置:

使用Spring Boot进行逆向工程,快速代码生成。

一、Spring Boot的简介

Spring Boot是由Spring Framework团队开发的用于创建独立的Spring应用程序的框架。Spring Boot采用约定大于配置的方式,可快速构建符合生产要求的Spring应用程序。

Spring Boot 不仅仅是Spring框架的一种扩展,而是Spring生态系统中包括Spring Framework、Spring MVC、Spring Security等框架的整合解决方案。通过自动配置和装配,Spring Boot 摆脱了传统Spring应用配置的繁琐性,相关模块的自动装配和快速开发使得Spring Boot几乎成为Spring项目的标准选择。

二、逆向工程简介

逆向工程是将现有的数据库结构逆向生成代码的过程。特别是对于较复杂的数据库结构,人工编写相关的代码容易出现一些问题,逆向工程为我们省去了这些繁琐的工作。

逆向工程可以通过外部工具来完成,比如Hibernate Tools、MyBatis Generator等,也可以通过一些集成框架来完成,Spring Boot就是其中之一。通过Spring Boot中包含的MyBatis Generator插件,我们可以简单地实现逆向工程并生成对应的代码。

三、Spring Boot集成MyBatis Generator实现逆向工程

在Spring Boot中集成MyBatis Generator实现逆向工程的步骤如下:

1、添加相应的依赖。

    <dependency>
        <groupId>org.mybatis.generator</groupId>
        <artifactId>mybatis-generator-maven-plugin</artifactId>
        <version>1.4.0</version>
    </dependency>

2、在pom.xml文件中配置相应的插件参数。这里以Oracle数据库为例:

    <plugins>
        <plugin>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-maven-plugin</artifactId>
            <version>1.4.0</version>
            <dependencies>
                <dependency>
                    <groupId>com.oracle</groupId>
                    <artifactId>ojdbc6</artifactId>
                    <version>11.2.0.3</version>
                </dependency>
            </dependencies>
            <executions>
                <execution>
                    <id>Generate MyBatis Artifacts</id>
                    <phase>generate-sources</phase>
                    <goals>
                        <goal>generate</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <overwrite>true</overwrite>
                <verbose>true</verbose>
                <configurationFile>src/main/resources/generatorConfig.xml</configurationFile>
            </configuration>
        </plugin>
    </plugins>

3、在resources目录下创建generatorConfig.xml文件,配置好数据库相关信息。

    <?xml version="1.0" encoding="UTF-8" ?>
    <generatorConfiguration>
        <properties resource="mybatis-generator.properties"></properties>

        <context id="mysql" targetRuntime="MyBatis3">
            <property name="javaFileEncoding" value="UTF-8"/>

            <jdbcConnection driverClass="oracle.jdbc.OracleDriver"
                            connectionURL="jdbc:oracle:thin:@localhost:1521:ORCL"
                            userId="root" password="root"></jdbcConnection>

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

            <sqlMapGenerator targetPackage="com.example.demo.mapper"
                            targetProject="src/main/java">
                <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">
                <generatedKey identity="true" type="Integer" column="id" />
            </table>

        </context>
    </generatorConfiguration>

4、执行mvn mybatis-generator:generate即可自动生成对应的代码。

    mvn mybatis-generator:generate

四、小结

使用Spring Boot进行逆向工程,快速代码生成可以为我们开发提供快捷的解决方案。Spring Boot集成了MyBatis Generator插件,可以非常方便地实现逆向工程并生成代码,从而避免了手写代码的麻烦。