解决org.apache.ibatis.exceptions.PersistenceException。Error 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

解决org.apache.ibatis.exceptions.PersistenceException。Error querying database
所以我马上查看我的User实体类的构造器,感觉没什么问题的样子,然后想了想会不会是要求构造器的参数类型顺序和数据库中的实体表字段顺序一致,所以我马上查看了我的数据库,图如下
解决org.apache.ibatis.exceptions.PersistenceException。Error querying database
果然,发现数据库的字段顺序是 name(String)、age(Int)、gender(String)
而我上面的构造器参数类型顺序是public User(String name,String gender,int age),显然看到顺序不一致,所以我改了构造器 public User(String name,int age,String gender),成功运行
解决org.apache.ibatis.exceptions.PersistenceException。Error querying database

上一篇:翻译:《实用的Python编程》04_04_Defining_exceptions


下一篇:[Effective Java] Item 59 Avoid unnecessary use of checked exceptions