• 使用mybatis-generator自动生成代码


    1、在pom文件中添加mybatis-generator插件

    <plugin>
                    <groupId>org.mybatis.generator</groupId>
                    <artifactId>mybatis-generator-maven-plugin</artifactId>
                    <version>1.3.2</version>
                    <configuration>
                        <!-- mybatis-generator的配置文件,根据情况调整位置 -->
                        <configurationFile>src/main/resources/generatorConfig.xml</configurationFile>
                        <verbose>true</verbose>
                        <overwrite>true</overwrite>
                    </configuration>
                    <executions>
                        <execution>
                            <id>Generate MyBatis Artifacts</id>
                            <goals>
                                <goal>generate</goal>
                            </goals>
                        </execution>
                    </executions>
                    <dependencies>
                        <dependency>
                            <groupId>org.mybatis.generator</groupId>
                            <artifactId>mybatis-generator-core</artifactId>
                            <version>1.3.2</version>
                        </dependency>
                    </dependencies>
                </plugin>

    2、在resources目录下创建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>
        <!--指定特定数据库的jdbc驱动jar包的位置(绝对路径)-->
        <classPathEntry location="D:apache-maven-Newcore
    epository-lcldemomysqlmysql-connector-java8.0.17mysql-connector-java-8.0.17.jar"/>
    
        <context id="default" targetRuntime="MyBatis3">
            <property name="javaFileEncoding" value="UTF-8"/>
            <!-- optional,旨在创建class时,对注释进行控制 -->
            <commentGenerator>
                <property name="suppressDate" value="true"/>
                <property name="addRemarkComments" value="true"/>
                <property name="suppressAllComments" value="false"/>
            </commentGenerator>
    
            <!--jdbc的数据库连接:驱动类、链接地址、用户名、密码-->
            <jdbcConnection
                    driverClass="com.mysql.cj.jdbc.Driver"
                    connectionURL="jdbc:mysql://127.0.0.1:3306/test" userId="root"
                    password="123456">
                <property name="nullCatalogMeansCurrent" value="true"/>
            </jdbcConnection>
    
    
            <!-- 非必需,类型处理器,在数据库类型和java类型之间的转换控制-->
            <javaTypeResolver>
                <property name="forceBigDecimals" value="false"/>
            </javaTypeResolver>
    
    
            <!-- Model模型生成器,用来生成含有主键key的类,记录类 以及查询Example类
                targetPackage     指定生成的model生成所在的包名
                targetProject     指定在该项目下所在的路径
            -->
            <javaModelGenerator targetPackage="com.example.demo.entity"
                                targetProject="../lclWorkSpace/src/main/java">
    
                <!-- 是否允许子包,即targetPackage.schemaName.tableName -->
                <property name="enableSubPackages" value="false"/>
                <!-- 是否对model添加 构造函数 -->
                <property name="constructorBased" value="false"/>
                <!-- 是否对类CHAR类型的列的数据进行trim操作 -->
                <property name="trimStrings" value="true"/>
                <!-- 建立的Model对象是否 不可改变  即生成的Model对象不会有 setter方法,只有构造方法 -->
                <property name="immutable" value="false"/>
            </javaModelGenerator>
    
            <!--Mapper映射文件生成所在的目录 为每一个数据库的表生成对应的SqlMap文件 -->
            <sqlMapGenerator targetPackage="mapper" targetProject="../lclWorkSpace/src/main/resources">
                <property name="enableSubPackages" value="true"/>
            </sqlMapGenerator>
            <!-- 客户端代码,生成易于使用的针对Model对象和XML配置文件 的代码
                    type="ANNOTATEDMAPPER",生成Java Model 和基于注解的Mapper对象
                    type="MIXEDMAPPER",生成基于注解的Java Model 和相应的Mapper对象
                    type="XMLMAPPER",生成SQLMap XML文件和独立的Mapper接口
            -->
            <javaClientGenerator targetPackage="com.example.demo.mapper"
                                 targetProject="../lclWorkSpace/src/main/java" type="XMLMAPPER">
                <property name="enableSubPackages" value="true"/>
            </javaClientGenerator>
    
            <!-- 数据表进行生成操作 tableName:表名; domainObjectName:对应的DO -->
            <table tableName="merchant_base_info" domainObjectName="MerchantInfo"/>
    
        </context>
    </generatorConfiguration>

    3、测试

      双击运行下图中右侧的Maven Projects中的mybatis-generator:generate插件,运行后,可以看到左侧项目结构上新增了红色标注的文件。

  • 相关阅读:
    WCF 第十三章 可编程站点 为站点创建操作
    WCF 第十三章 可编程站点 所有都与URI相关
    WCF 第十二章 对等网 使用自定义绑定实现消息定向
    WCF 第十三章 可编程站点 使用WebOperationContext
    Using App.Config for user defined runtime parameters
    WCF 第十三章 可编程站点
    WCF 第十三章 可编程站点 使用AJAX和JSON进行网页编程
    WCF 第十二章 总结
    WCF 第十三章 可编程站点 使用WebGet和WebInvoke
    WCF 第十三章 可编程站点 URI和UriTemplates
  • 原文地址:https://www.cnblogs.com/liconglong/p/11692412.html
Copyright © 2020-2023  润新知