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>

直接写上固定值。

然后运行,搞定!

posted @   zpcode  阅读(39)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示