- 我原本通过反向生成插件生成mapper和实体类那些文件后,想测试一下能否成功执行里面的sql操作,结果报错了,发现是生成的mapper文件中存在重复的resultMap
MyBatis Generator生成重复xml/Mapper对象解决方案_树洞-CSDN博客
- 最开始看的是这位博主的解决方案,但是经过测试之后都有问题,下面记录一下问题
三、最终的解决办法1.在generatorConfig.xml的table标签里面通过catalog指定数据库表,随后通过反向插件生成的mapper文件中确实不存在重复的resultMap了,但是会导致sql语句出错,见下图;
2.在generatorConfig.xml的table标签里面通过schema指定数据库表,生成的mapper文件中resultMap依然重复
- 最终有效的解决办法是在generatorConfig.xml的
标签下加上下面这段代码
- 使用反向插件的版本是1.3.7,我在用1.3.5版本的时候还是有问题
org.mybatis.generator
mybatis-generator-maven-plugin
1.3.7
src/main/resources/generatorConfig.xml
true
org.mybatis.generator
mybatis-generator-core
1.3.7
- 完整的generatorConfig.xml配置代码如下
- 测试类
package com.kkb;
import com.kkb.mapper.TeamMapper;
import com.kkb.pojo.Team;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import javax.annotation.Resource;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:spring.xml"})
public class Test01 {
//测试反向生成的mapper
@Resource
private TeamMapper teamMapper;
@Test
public void test01(){
Team team = teamMapper.selectByPrimaryKey(1001);
System.out.println(team);
}
}



