遇到的异常/错误

今天在写mybatis的SQL语句和关联查询中,出现了这个异常,java.lang.StackOverflowError。

java.lang.StackOverflowError指的是堆栈异常,栈溢出,出现原因可能是死递归,程序一直在调用自己,通过观察log4j发现sql语句在不停执行,导致了这个错误,所以需要找到这个SQL语句所在的位置来查找错误。

个人具体的解决办法

每个人的代码不同,所以出现这个异常的原因也不同,大家可以使用日志操作类log4j看一下具体的错误原因在哪里。

最后我发现在resourses下的mapper.xml文件中,两条SQL查询语句中的resultMap写的一样了,resultMap主要用于复杂的联合查询中,还有可以通过resultMap取别名的方式将实体类中的属性名和数据库中的字段名相匹配,resultMap的值是唯一的,不可以相同。因为这里的错误,在测试的时候才会不停地执行sql语句,导致java.lang.StackOverflowError堆栈异常,当我修改了其中一个后再去测试,程序就正常运行了。

关于mybatis的mapper.xml配置文件中的SQL语句

namespace是对应的接口文件的全路径;SQL语句中的 id指的是对应的接口中写的方法名字;parameterType指的是接口中对应方法的传参类型,基本数据类型和包装类都可以识别;resultType指的是接口中对应方法的返回值类型,这里简写的Emp是在mybatis-condig.xml文件中配置过的,不然应该写的是全类名;resultMap用于取别名和复杂的联合查询,其中id是自取的,type是实体类名,property是实体类对象的属性名称,column是对应数据库表的字段;还要注意的是sql语句中可能出现的关键字,需要用``(tab上面)这个符号装起来,不然在数据库中可能查不出来,可能出现sql语句异常,SQLException。

EmpMapper.xml配置文件

EmpMapper接口

mybatis-condig.xml文件中配置的别名处理器

每写一个resourses下的xml配置文件或者mapper接口记得在mybatis-condig.xml中配置一下,不然会出现下面图片中的异常。

完。

java.lang.StackOverflowError异常相关推荐

  1. Java EE之Hibernate异常总结【5】java.lang.StackOverflowError[栈溢出]

    Java EE之Hibernate异常总结[5]java.lang.StackOverflowError[栈溢出] 参考文章: (1)Java EE之Hibernate异常总结[5]java.lang ...

  2. java.lang.StackOverflowError递归异常

    java.lang.StackOverflowError递归异常 hello,我是小灰熊Carroll,下面这张图片不是本人,别误会噢,嘿嘿. 开始:首先上个-错误代码 在Controller中打个& ...

  3. 科学处理java.lang.StackOverflowError: null异常

    java.lang.StackOverflowError: null异常处理 在项目运行中出现StackOverflowError 首先要检查在编码中是否有明显的递归编码,比如死循环或者无限循环调用. ...

  4. java.lang.NullPointerException异常原因及解决

    java.lang.NullPointerException异常原因是因为创建了一个引用类型的变量却没有指向任何对象而又去通过这个引用类型变量加点的形式去访问非静态的方法及属性. 给出三种情况, 第一 ...

  5. java.lang.IllegalMonitorStateException 异常出现原因

    java.lang.IllegalMonitorStateException  违法的监控状态异常.当某个线程试图等待一个自己并不拥有的对象(O)的监控器或者通知其他线程等待该对象(O)的监控器时,抛 ...

  6. java.sql.SQLException: java.lang.StackOverflowError

    2019独角兽企业重金招聘Python工程师标准>>> 今天用jsp自定义标签实现一个小功能:刷新某个页面,通过自定义标签的后台tag方法去数据库查询所需数据,这样,当页面刷新完成之 ...

  7. Spark出现java.lang.stackoverflowerror的解决方法

    正在测试的程序需要多次迭代(400+次),每次迭代有复杂的运算 迭代到100多次的时候报java.lang.stackoverflowerror的错误 解决方法:先checkpoint()再count ...

  8. 出现java.lang.IllegalArgumentException异常

    出现java.lang.IllegalArgumentException异常 参考文章: (1)出现java.lang.IllegalArgumentException异常 (2)https://ww ...

  9. hibernate4 和 spring3 整合注意事项 否则java.lang.NoSuchMethodError异常

    hibernate4 和 spring3 整合注意事项 否则java.lang.NoSuchMethodError异常 参考文章: (1)hibernate4 和 spring3 整合注意事项 否则j ...

最新文章

  1. ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务-Oracle连接错误
  2. php邮箱地址验证,js和php邮箱地址验证的实现方法
  3. Unit05: window 常用子对象-2 、 event 对象 、 Cookie
  4. vue window.location.href 返回页面不刷新_前端框架vue中的keep-alive总结实践
  5. 一个菜鸟怎样做好功能测试?
  6. Android长时间后台运行Service
  7. java中的强软弱虚_详解Java的四种引用——强软弱虚,颠覆你的认知!
  8. caffe︱cifar-10数据集quick模型的官方案例
  9. 磁盘结构损坏且无法读取硬盘磁盘结构损坏且无法读取的找回方案
  10. 企业IP地址管理(IPAM)
  11. 企业做三体系认证有什么用吗,招投标加分吗
  12. JTAG,PLL ,ICE
  13. 计算机组成原理基本概念
  14. jQuery canvas碎片粒子组成爱心图形动画特效
  15. 【MySQL】6.0 表的增删查改
  16. nao机器人c语言编程教程,NAO机器人编程学习.pdf
  17. C++ 没有找到接受const _Ty类型的左操作数的运算符
  18. win10速成安装VMWare+CentOS7+MTPuTTY
  19. 与sscanf函数的一见钟情(真是相见恨晚!)
  20. cannot create network xxx(br-xxx) conflicts with network yyy(br-yyy) networks have overlapping IPv4

热门文章

  1. 积木代码 加渲染合并
  2. H264系列--简单的视频编码历史介绍
  3. 新品首发 | 洛必德进军智慧家庭服务领域,聚焦大健康养老行业
  4. Elon为2020网鼎杯准备之“CTF初体验!”
  5. react Hooks 实现倒计时
  6. nmf java_java 中文与unicode互转
  7. python百度贴吧 发帖时间_python爬取贴吧帖子
  8. 港联证券投资前瞻:碳酸锂价格持续反弹 银行板块步入可积极配置阶段
  9. 网络诈骗是大数据的“原罪”吗?
  10. 新闻管理系统分类模块的增删改功能实现,标签模块的功能实现