在编写程序的过程中遇到了各种各样的报错,有的是会重复遇到有的则是惊鸿一瞥看到了一次后面就不咋见到了.在这里我总结一下我最近遇到报错,分享一下错误出现的原因让自己以后有所警醒,或者说遇到了知道哪里的错误可以快速解决,保证自己开发顺利进行.
一.查询数据,返回的数据是多条
这个错误是在进行数据查询的时候查找数据不是具有唯一性,可以出现重复的,但是接收的对象是一个,程序无法进行区分而返回的错误(TooManyResultsException).TooManyResultsException是错误类型,在醋五类型后面有对你搜犯得错误的解释.
既然知道了错误那就解决,有几个个比较简单的方法:
- 在查找数据的时候使用不可重复,具有唯一性的字段(这个方法基本上可以避免出现这种错误)
- 在查找的时候加约束,通过多个约束来确保查找到的数据是所需要的,当然这个方法也不一定因为存在那种数据只有主键不同其他都相同的数据
- 也可以使用集合来接收返回的数据,让模糊的查找数据都存在集合中然后进一步查找
二.绑定异常
这个错误是在findAllUseXml这个方法中没有找到对应的SQL语句.在对应的 XML 映射文件(如 Mapper XML)中 没找到匹配的 SQL 语句定义 。
- 检查 XML 文件里,
namespace是否和UserMapper接口全类名一致; - 确认 XML 中 SQL 语句的
id,是否和findAllUseXml方法名完全匹配; - 核实 XML 文件是否被正确加载(比如 Maven 项目里,XML 要放在
resources对应目录,且编译后能被识别 ).
三Mapper类名书写错误
基础错误Mapper的全类名错误,只要修改为正确的全类名就行.
四.映射未找到
这个是Mapped Statement(映射语句 )执行查询时,没配置
ResultType(指定返回结果类型 )或 ResultMap(结果映射规则 ) ,导致无法处理查询结果。
解决方法在Mapper.xml文件中给对应的SQL标签加上resultType(简单类型 / 实体类全类名 )或 resultMap(关联已定义的结果映射 )配置即可。
五.SQL语法异常
这个是简单的拼写错误,把from写成了form.注意即可
六.数据库连接异常
这是在连接数据库连接时密码输入错误,注意即可.但是尽可能的减少这种错误
七.数据库不存在
典型的数据库名称错误,在准备好的数据库中没有该名字的数据库
八.数据库中的表不存在
同连接不到数据库一样,属于表名输入错误,在数据库中没有对应的表
九.依赖注入失败
这个是Mapper接口没有加@Mapper或@MapperScan扫描,导致没有被Spring扫描并创建Bean.如果用XMl配置,
确认Bean定义正确.
以上的都是一些基础入门会碰到的一些常见错误,需要注意尽可能不犯这种错.经常犯这些错误会拉低自己的档次的,所以还是不要出现.