问题描述
Expected one result (or null) to be returned by selectOne(), but found: 3
@Test public void findAllScoreByCourseName(){ SqlSession session = MyBatisUtils.getSession(); Object student = session.selectList("mapper.ScoreMapper.findAllScoreByCourseName", "JavaEE程序设计"); System.out.println(student); session.close(); }
原因分析:
Expected one result (or null) to be returned by selectOne(), but found: 3
意思是“期望selectOne()返回一个结果(或null),但发现3个”这说明你的返回结果有三个对象,但是selectOne只能返回一个。
解决方案:
第一种方案:可以把selectOne更换为selectList,这样就可以返回多个对象了。
第二种方案:可以把多个对象封装到一个类中,比如把student类封装把score类中
public class Score { private String sno; //学号 private String cno; //课程号 private int score; //成绩 private String number; //第几次选修,默认值为1 private List<Student> studentList;然后,直接用selectOne返回Score类就可以了。文章来源:https://www.toymoban.com/news/detail-411946.html
第三种方案:就是修改sql语句,例如取别名等等,这个方法不推荐。文章来源地址https://www.toymoban.com/news/detail-411946.html
到了这里,关于Expected one result (or null) to be returned by selectOne(), but found: 3报错解决方案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!