微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

解决org.apache.ibatis.exceptions.PersistenceExceptionError querying database

问题直接上
org.apache.ibatis.exceptions.PersistenceException:
Error querying database. Cause: org.apache.ibatis.executor.ExecutorException: No constructor found in com.Ajax.domain.User matching [java.lang.String, java.lang.Integer, java.lang.String]
The error may exist in com/Ajax/dao/IUserDao.xml
The error may involve com.Ajax.dao.IUserDao.findALL
The error occurred while handling results
sql: select * from user;

Cause: org.apache.ibatis.executor.ExecutorException: No constructor found in com.Ajax.domain.User matching [java.lang.String, java.lang.Integer, java.lang.String]

这里面显示我们构造器无法匹配数据类型String、Integer、String

在这里插入图片描述

所以我马上查看我的User实体类的构造器,感觉没什么问题的样子,然后想了想会不会是要求构造器的参数类型顺序和数据库中的实体表字段顺序一致,所以我马上查看了我的数据库,图如下

在这里插入图片描述

果然,发现数据库的字段顺序是 name(String)、age(Int)、gender(String)
而我上面的构造器参数类型顺序是public User(String name,String gender,int age),显然看到顺序不一致,所以我改了构造器 public User(String name,int age,String gender),成功运行

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐