SpringBoot项目常见错误
- 1.当Mybatis报错 Result Maps collection already contains value for
- 一、重复点击Mybatis-Generator导致配置文件重复生成XML
- 二、正确配置Yml仔细检查有没有多了或者少了一个空格
- 三、spring boot + mybatis
- 四、应该用resultMap来接收返回值,却用了resultType
- 2.在创建generatorConfig.xml文件时,报错:com.mysql.jdbc.Driver
- mysql驱动包的路径一定要是自己mysql-java.jar文件的路径,且路径不可包含特殊字符,在respository文件下找。
- 3.当注解爆红时,立马检查pom文件
- 4.当克隆到本地,终端报错时![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/bbbce65a84504cd3ae6d0f0150e1e90b.png)
1.当Mybatis报错 Result Maps collection already contains value for
一、重复点击Mybatis-Generator导致配置文件重复生成XML
Mybatis-Generator生成xml等又快有方便,但是如果同名xml之前已经存在,那么生成的时候会在xml里面在之前的代码后面继续追加,而不会覆盖同名的语句。因此有可能报这个错误
解决方案:
1.如果是再次生成代码,必须先将已经生成的代码删除,仔细检查一下xml文件看是否存在两个id为BaseResultMap的resultMap,删除多余的,只保留一个.
2.删除测试文件夹下的resources目录下的与mapper.xml同名的xml文件,确保同名的xml中没有相同id的resultMap。
二、正确配置Yml仔细检查有没有多了或者少了一个空格
正确格式:
mybatis:
mapper-locations: classpath:mapper/**/*.xml
三、spring boot + mybatis
在spring boot的application.properties中,配置了mybatis.config-location=classpath:mybatis-config.xml mybatis.mapper-locations=classpath*:mapper/*.xml。mapper的配置被配置了两遍。
解决方案
把mybatis-config.xml中的mappers部分删除
四、应该用resultMap来接收返回值,却用了resultType
解决方案
1.当返回值为List<>泛型时,使用resultType = “XXX” 的类型
2.使用resultMap
2.在创建generatorConfig.xml文件时,报错:com.mysql.jdbc.Driver
mysql驱动包的路径一定要是自己mysql-java.jar文件的路径,且路径不可包含特殊字符,在respository文件下找。
如下:
注意格式:最后以.jar结尾 (这里本人就犯了错
)
<generatorConfiguration>
<!-- 驱动包路径,location中路径替换成⾃⼰本地路径 -->
<classPathEntry location="C:\Users\Lenovo\.m2\repository\mysql\mysql-connector-java\5.1.49\mysql-connector-java-5.1.49.jar"/>
<context id="DB2Tables" targetRuntime="MyBatis3">
!!!如果不是这个错误的话,一定要仔细检查yml文件,空格没打,单词差一个字母,都会导致错误。
url: jdbc:mysql://127.0.0.1:3306/forum_db?characterEncoding=utf8&useSSL=false
# 数据库连接串
username: root # 数据库⽤⼾名
password: xxxxx#自己的密码
driver-class-name: com.mysql.jdbc.Driver
数据库密码填写错误,仔细检查yml文件配置数据库的密码写错了(多谢了一个字母或者少写了)
3.当注解爆红时,立马检查pom文件
一定是部分依赖没引入,下载好依赖之后,也可以在我的其他文章找pom文件的推荐版,pom文件更新完毕后会自动填充好注解。
4.当克隆到本地,终端报错时
可以直接选择Bash
输入你的仓库地址: