Expected one result (or null) to be returned by selectOne(), but found: 3报错解决方案

这篇具有很好参考价值的文章主要介绍了Expected one result (or null) to be returned by selectOne(), but found: 3报错解决方案。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


问题描述

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类就可以了。

第三种方案:就是修改sql语句,例如取别名等等,这个方法不推荐。文章来源地址https://www.toymoban.com/news/detail-411946.html

到了这里,关于Expected one result (or null) to be returned by selectOne(), but found: 3报错解决方案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包