Statement returned more than one row, where no more than one was expected异常解决方案

问题描述:

使用单元测试测试sql语句查询时报错:
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.executor.ExecutorException: Statement returned more than one row, where no more than one was expected.
意思是某条sql语句本该查到一条数据,结果返回了多条数据

原因:

检查发现,是dao层的sql语句参数写错了。

解决办法:

修改sql语句

	<resultMap id="BaseResultMap" type="cn.itcast.domain.system.Dept">
        <id property="id" column="dept_id"/>
        <result property="companyName" column="company_name"/>
        <result property="deptName" column="dept_name"/>
        <result property="state" column="state"/>
        <result property="companyId" column="company_id"/>

        <association property="parent" column="parent_id"
                     javaType="cn.itcast.domain.system.Dept" select="findById"/>
    </resultMap>
    <select id="findAll" resultMap="BaseResultMap">
      select * from pe_dept where company_id=#{companyId}
    </select>

    <select id="findById" resultMap="BaseResultMap">
      <!--select * from pe_dept where parent_id=#{id} 这里parent_id修改为dept_id-->
      select * from pe_dept where dept_id=#{id}
    </select>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值