springboot设置不同环境并利用mybatis.generator插件根据数据库表自动生成实体类等文件

1.创建springboot项目

1.项目结构如下:

 2.pom.xml配置文件的设置

1.在pom.xml的<dependency>中添加mybatis.generator依赖

 <!-- mybatis.generator依赖 -->
        <dependency>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-core</artifactId>
            <version>1.3.7</version>
        </dependency>

 2.<builds>中添加mybatis.generator插件

  <!-- mybatis.generator插件-->
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.7</version>
                <configuration>
                <!-- 配置xml文件地址,与generatorConfig.xml文件地址对应即可,这里是在/resources/generator/目录下
                -->
                    <configurationFile>src/main/resources/generator/generatorConfig.xml</configurationFile>
                    <!-- 允许移动生成的文件 -->
                    <verbose>true</verbose>
                    <!-- 是否覆盖 -->
                    <overwrite>true</overwrite>
                </configuration>
            </plugin>

3.配置不同开发环境

<profiles>
        <profile>
           <!--开发环境,id与application-${}.xml文件对应即可,下面同理-->
            <id>dev</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <env>dev</env>
            </properties>
        </profile>
        <profile>
            <!--测试环境-->
            <id>pre</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <env>pre</env>
            </properties>
        </profile>
        <profile>
            <!--正式环境-->
            <id>pro</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <env>pro</env>
            </properties>
        </profile>
    </profiles>

4.generatorConfig.xml文件的配置

1.该文件与2.2中configurationFile路径一致

note:正确选择本地的数据库驱动jar包;修改连接的数据库ip及密码

<?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>
    <!-- 数据库驱动:选择你的本地硬盘上面的数据库驱动包-->
    <classPathEntry location="D:/tool/mysql-connector-java-5.1.47.jar"/>
    <context id="DB2Tables" targetRuntime="MyBatis3">

        <!--覆盖生成XML文件-->
        <plugin type="org.mybatis.generator.plugins.UnmergeableXmlMappersPlugin"/>
        <commentGenerator>
            <property name="addRemarkComments" value="true"/>
            <property name="suppressDate" value="true"/>
            <!-- 是否去除自动生成的注释 true是 false否-->
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>

        <!--数据库链接URL,用户名、密码 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/db_name?useUnicode=true&amp;useSSL=false&amp;amp&amp;characterEncoding=UTF-8&amp;allowMultiQueries=true"
                        userId="root"
                        password="password">
            <property name="nullCatalogMeansCurrent" value="true"/>
        </jdbcConnection>

        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>

        <!-- 生成模型的包名和位置-->
        <javaModelGenerator targetProject="src/main/java" targetPackage="cn.com.ex.entity">
            <property name="enableSubPackages" value="true"/>
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>

        <!-- 生成映射文件的包名和位置-->
        <sqlMapGenerator targetProject="src/main/resources" targetPackage="mapper">
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>

        <!-- 生成DAO的包名和位置-->
        <javaClientGenerator type="XMLMAPPER" targetProject="src/main/java" targetPackage="cn.com.ex.dao">

            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>

        <!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名-->
        <table tableName="test" domainObjectName="Test" enableCountByExample="false" enableUpdateByExample="false"
               enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false">
            <property name="useActualColumnNames" value="false"/>

        </table>

    </context>
</generatorConfiguration>

 2.点击右侧maven中的mybatis-generator:generate,即可自动生成相应文件

生成了三个相关文件: 

5.不同开发环境配置文件的设置

一般来说,三中不同环境:开发(dev),测试(pre/test),正式(pro)

application.yml文件是默认的配置文件,其默认等级高于自定义的dev,pre以及pro

server:
  port: 8080
spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost/db_name
    username: root
    password: ******
  profiles:
    active: @env@

 note:profile:active:@env@配置就是实现不同开发环境切换,在pom文件中我们已经配置了<env>

applicati-dev.yml文件的配置,设置了不同的访问端口8889,其余两个配置文件类似,根据实际情况配置不同的端口及相关配置

server:
  port: 8889
spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/db_name
    username: root
    password: *****

在maven的profiles中即可切换不同的开发环境配置

1. 首先需要在项目中引入mybatis-generator插件,可以在pom.xml文件中添加以下代码: ```xml <build> <plugins> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.4.0</version> <executions> <execution> <id>Generate MyBatis Artifacts</id> <goals> <goal>generate</goal> </goals> </execution> </executions> </plugin> </plugins> </build> ``` 2. 然后需要在项目中配置generatorConfig.xml文件,该文件可以在项目中新建一个文件夹,命名为generator,在该文件夹下新建generatorConfig.xml文件。以下是一个简单的配置文件示例: ```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="DB2Tables" targetRuntime="MyBatis3"> <jdbcConnection driverClass="com.microsoft.sqlserver.jdbc.SQLServerDriver" connectionURL="jdbc:sqlserver://localhost:1433;databaseName=mydb" userId="sa" password="123456"> </jdbcConnection> <javaTypeResolver> <property name="forceBigDecimals" value="false"/> </javaTypeResolver> <javaModelGenerator targetPackage="com.example.model" targetProject="src/main/java"> <property name="enableSubPackages" value="true"/> <property name="trimStrings" value="true"/> </javaModelGenerator> <sqlMapGenerator targetPackage="com.example.mapper" targetProject="src/main/resources"> <property name="enableSubPackages" value="true"/> </sqlMapGenerator> <javaClientGenerator type="XMLMAPPER" targetPackage="com.example.mapper" targetProject="src/main/java"> <property name="enableSubPackages" value="true"/> </javaClientGenerator> <table tableName="user" domainObjectName="User" /> </context> </generatorConfiguration> ``` 其中,需要注意以下几点: - jdbcConnection中需要配置数据库连接信息,包括驱动类、连接地址、用户名和密码; - javaModelGenerator中的targetPackage属性指定生成实体类所在的包名,targetProject属性指定生成实体类所在的目录; - sqlMapGenerator中的targetPackage属性指定生成的Mapper接口所在的包名,targetProject属性指定生成的Mapper.xml文件所在的目录; - javaClientGenerator中的targetPackage属性和targetProject属性与sqlMapGenerator相同; - table标签中的tableName属性指定需要生成实体类和Mapper接口的名,domainObjectName属性指定生成实体类名称。 3. 在项目中运行mybatis-generator插件,执行以下命令: ```bash mvn mybatis-generator:generate ``` 4. 执行完成后,在指定的目录下就可以看到生成实体类和Mapper接口。如果需要使用生成实体类和Mapper接口,可以在SpringBoot中使用@MapperScan注解扫描Mapper接口所在的包,然后在具体的服务中注入Mapper接口使用。 注:上述配置文件中,示例使用的是SQLServer数据库,如果需要连接其他数据库,需要修改jdbcConnection中的驱动类和连接地址。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值