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>
直接写上固定值。
然后运行,搞定!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具