您当前的位置:首页>java频道>spring boot整合mybatis并添加mybatis代码生成器

spring boot整合mybatis并添加mybatis代码生成器

发布时间:2020-07-19 类型: java频道 编辑: 小猪迷

    1:首先在pom.xml中加入依赖

    <dependency>
       <groupId>org.mybatis.spring.boot</groupId>
       <artifactId>mybatis-spring-boot-starter</artifactId>
       <version>2.1.3</version>
    </dependency>

    2:在插件模块中加入生成器

    <plugin>
       <groupId>org.mybatis.generator</groupId>
       <artifactId>mybatis-generator-maven-plugin</artifactId>
       <version>1.3.7</version>
       <configuration>
          <!--mybatis的代码生成器的配置文件-->
          <configurationFile>src/main/resources/generator/mybatis-generator-config.xml</configurationFile>
          <!--允许覆盖生成的文件-->
          <overwrite>false</overwrite>
          <verbose>true</verbose>
       </configuration>
       <dependencies>
          <!-- mysql的JDBC驱动 -->
          <dependency>
             <groupId>mysql</groupId>
             <artifactId>mysql-connector-java</artifactId>
             <version>8.0.20</version>
          </dependency>
       </dependencies>
    </plugin>

    3:在application.propertis中加入以下配置

    mybatis.type-aliases-package=com.example4.demo4.entity   //生成的实体类目录
    mybatis.mapper-locations=classpath:mapper/*.xml  //加载生成的xml文件配置
    备注:classpath路径是resource目录

    4:在resource下建立generator目录,并创建mybatis-generator-config.xml文件

    <?xml version="1.0" encoding="UTF-8" ?>
    <!--mybatis的代码生成器相关配置-->
    <!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="application.properties"/>

        <!-- 一个数据库一个context,context的子元素必须按照它给出的顺序
            property*,plugin*,commentGenerator?,jdbcConnection,javaTypeResolver?,
            javaModelGenerator,sqlMapGenerator?,javaClientGenerator?,table+
        -->
        <context id="myContext" targetRuntime="MyBatis3" defaultModelType="flat">

            <!-- 这个插件给生成的Java模型对象增加了equals和hashCode方法 -->
            <!--<plugin type="org.mybatis.generator.plugins.EqualsHashCodePlugin"/>-->

            <!-- 注释 -->
            <commentGenerator>
                <!-- 是否不生成注释 -->
                <property name="suppressAllComments" value="true"/>
                <!-- 不希望生成的注释中包含时间戳 -->
                <!--<property name="suppressDate" value="true"/>-->
                <!-- 添加 db 表中字段的注释,只有suppressAllComments为false时才生效--><!--<property name="addRemarkComments" value="true"/>-->
            </commentGenerator>


            <!-- jdbc连接 -->
            <jdbcConnection driverClass="${spring.datasource.driverClassName}"
                            connectionURL="${spring.datasource.url}"
                            userId="${spring.datasource.username}"
                            password="${spring.datasource.password}">
                <!--高版本的 mysql-connector-java 需要设置 nullCatalogMeansCurrent=true-->
                <property name="nullCatalogMeansCurrent" value="true"/>
            </jdbcConnection>

            <!-- 类型转换 -->
            <javaTypeResolver>
                <!--是否使用bigDecimal,默认false。
                    false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer
                    true,把JDBC DECIMAL 和 NUMERIC 类型解析为java.math.BigDecimal-->
                <property name="forceBigDecimals" value="true"/>
                <!--默认false
                    false,将所有 JDBC 的时间类型解析为 java.util.Date
                    true,将 JDBC 的时间类型按如下规则解析
                        DATE                   -> java.time.LocalDate
                        TIME                   -> java.time.LocalTime
                        TIMESTAMP               -> java.time.LocalDateTime
                        TIME_WITH_TIMEZONE     -> java.time.OffsetTime
                        TIMESTAMP_WITH_TIMEZONE    -> java.time.OffsetDateTime
                    -->
                <!--<property name="useJSR310Types" value="false"/>-->
            </javaTypeResolver>

            <!-- 生成实体类地址 -->
            <javaModelGenerator targetPackage="com.example4.demo4.entity" targetProject="src/main/java">
                <!-- 是否让 schema 作为包的后缀,默认为false -->
                <!--<property name="enableSubPackages" value="false"/>-->
                <!-- 是否针对string类型的字段在set方法中进行修剪,默认false -->
                <property name="trimStrings" value="true"/>
            </javaModelGenerator>


            <!-- 生成Mapper.xml文件 -->
            <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources">
                <!--<property name="enableSubPackages" value="false"/>-->
            </sqlMapGenerator>

            <!-- 生成 XxxMapper.java 接口-->
            <javaClientGenerator targetPackage="com.example4.demo4.dao" targetProject="src/main/java" type="XMLMAPPER">
                <!--<property name="enableSubPackages" value="false"/>-->
            </javaClientGenerator>


            <!-- schema为数据库名,oracle需要配置,mysql不需要配置。
                 tableName为对应的数据库表名
                 domainObjectName 是要生成的实体类名(可以不指定,默认按帕斯卡命名法将表名转换成类名)
                 enableXXXByExample 默认为 true, 为 true 会生成一个对应Example帮助类,帮助你进行条件查询,不想要可以设为false
                 -->
            <table schema="" tableName="ccl_user" domainObjectName=""
                   enableCountByExample="false" enableDeleteByExample="false" enableSelectByExample="false"
                   enableUpdateByExample="false" selectByExampleQueryId="false">
                <!--是否使用实际列名,默认为false-->
                <!--<property name="useActualColumnNames" value="false" />-->
            </table>
            <!-- 多个表就创建多个table即可,为了避免多次生成带来的总是,生成完后就注释掉-->
        </context>
    </generatorConfiguration>
  • 没有评论哦,快来抢个沙发吧
小猪迷

                

微信好友

用微信扫描二维码,
加我好友。

微信公众号

用微信扫描二维码,
订阅小猪迷公众号。

234113618

用微信扫描二维码,
加入小猪迷 QQ 群。

spring boot整合mybatis并添加mybatis代码生成器-小猪迷PHP[xiaozhumi.com]

springboot整合mybatis并添加mybatis代码生成器

https://www.xiaozhumi.com/java/47.html