mybatisGenerater生成mapper重复

Posted dlage

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatisGenerater生成mapper重复相关的知识,希望对你有一定的参考价值。

使用mybatis-generater生成mapper,但是生成的mapper一直有重复的。比如会生成两个下面的resultMap,并且每个方法会生成两个。

<resultMap extends="BaseResultMap" id="ResultMapWithBLOBs" type="com.roczhang.mall.mbg.model.PmsBrand">
  <result column="brand_story" jdbcType="LONGVARCHAR" property="brandStory" />
</resultMap>

pom

<!-- MyBatis 生成器 -->
<dependency>
    <groupId>org.mybatis.generator</groupId>
    <artifactId>mybatis-generator-core</artifactId>
    <version>1.3.7</version>
<?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>
    <!--  配置文件的名字  -->
    <properties resource="generator.properties"/>
    <context id="mysqlContext" targetRuntime="MyBatis3" defaultModelType="flat">
        <property name="beginningDelimiter" value="`"/>
        <property name="endingDelimiter" value="`"/>
        <property name="javaFileEncoding" value="UTF-8"/>
        <!-- 为模型生成序列化方法-->
        <plugin type="org.mybatis.generator.plugins.SerializablePlugin"/>
        <!--   为java模型生成一个toString方法     -->
        <plugin type="org.mybatis.generator.plugins.ToStringPlugin"/>
        <!--   自定义生成model的代码注释     -->
        <commentGenerator type="com.roczhang.mall.mbg.CommentGenerator">
            <property name="suppressAllComments" value="true"/>
            <property name="suppressDate" value="true"/>
            <property name="addRemarkComments" value="true"/>
        </commentGenerator>
        <!--   配置数据库连接     -->
        <jdbcConnection driverClass="${jdbc.driverClass}"
                        connectionURL="${jdbc.connectionURL}" 
                        userId="${jdbc.userId}"
                        password="${jdbc.password}">
            <!--解决mysql驱动升级到8.0后不生成指定数据库代码的问题-->
            <property name="nullCatalogMeansCurrent" value="true" />
        </jdbcConnection>
        <!--  指定生成model的路径      -->
        <javaModelGenerator targetPackage="com.roczhang.mall.mbg.model" targetProject="src/main/java"/>
        <!--   指定生成mapper.xml的路径     -->
        <sqlMapGenerator targetPackage="com.roczhang.mall.mbg.mapper" targetProject="src/main/resources"/>
        <!--   指定生成mapper接口的路径     -->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.roczhang.mall.mbg.mapper" targetProject="src/main/java"/>
        <!--    生成全部表tableName设为%    -->
        <table tableName="pms_brand">
            <generatedKey column="id" sqlStatement="MySql" identity="true"/>
        </table>
    </context>
</generatorConfiguration>

根据官方的解释:使用mybatis-generator 1.3.7版本以上的并且添加下面的proper即可。

<!--解决mysql驱动升级到8.0后不生成指定数据库代码的问题-->
<property name="nullCatalogMeansCurrent" value="true" />

但是然并软。

我百度了一下查找解决方案。发现了这篇文章

https://blog.csdn.net/Cgh_Baby/article/details/93165152

我试了一下,由于我的数据库连接是从配置文件取值的,然后我把配置文件改成了这个样子

<jdbcConnection driverClass="${jdbc.driverClass}"
                connectionURL="${jdbc.connectionURL}"
                userId="root"
                password="password">

表的配置

<table tableName="pms_brand" schema="root" catalog="mall">
    <generatedKey column="id" sqlStatement="MySql" identity="true"/>
</table>

直接写上固定值。

然后运行,搞定!

以上是关于mybatisGenerater生成mapper重复的主要内容,如果未能解决你的问题,请参考以下文章

mybatis根据表逆向自动化生成代码(自动生成实体类mapper文件mapper.xml文件)

mybatis 自动生成 mapper

mybatis如何根据mapper接口生成其实现类

MyBatisCodeHelper快速生成实体类和mapper方法

自动生成Mybatis的Mapper文件

(转)Mybatis MapperScannerConfigurer 自动扫描 将Mapper接口生成代理注入到Spring