我的myabtis只写了一个查询,如果我这样写应该如何剩下的代码

mybatis层 原来的

 select count(*) as currentCount from namedate
        <where>
            <if test="stateOfLastPeriod!= null">
                and b.shijian >= #{stateOfLastPeriod}
            </if>
            <if test="endOfLastPeriod!= null">
                and b.shijian <![CDATA[<]]>= #{endOfLastPeriod}
            </if>
        </where>


如果修改成这样应该如何修改下面的代码

img


修改之后报错

"nested exception is org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned by selectOne(), but found: 2"

img

img

dao层

![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/005843598736112.png "#left")

service

    NameDate zongshu(ShiJianFuZhu shiJianFuZhu);

serviceinipml
public NameDate zongshu(ShiJianFuZhu shiJianFuZhu){
       QueryWrapper<NameDate> wrapper=new QueryWrapper<>();
       wrapper.gt("shijian",shiJianFuZhu.getShijiantou())
               .lt("shijian",shiJianFuZhu.getShijianwei());
      wrapper.gt("shijian",shiJianFuZhu.getStateOfLastPeriod())
               .lt("shijian",shiJianFuZhu.getEndOfLastPeriod());
        return zhongDuanDao.zongshu(shiJianFuZhu);
    }

controller层

 @RequestMapping("zongshu")
    @ResponseBody
    public NameDate zongshu(ShiJianFuZhu shiJianFuZhu){
        NameDate nameDate=new NameDate();
            nameDate=zhongDuanService.zongshu(shiJianFuZhu);
        return nameDate;
    }

看了楼上你的回答是要把currentCount,lastCount 放在一个对象里吧

select 
    (select count(*) from namedate) currentCount, 
    (select count(*) from namedate) lastCount 
from dual

首先,说清楚你的业务,,,
不然怎么写代码

去若依开发平台,用你的数据库表来生成代码。
这些代码就是一个完整的springboot+myabtis开发流程。
从sql语句到dao层到服务层到实现层。

union 的列都不一样怎么能用union;
而且你这union的条件完全一样

TooManyResultsException: 异常因为返回的数据超过了一行

NameDate 改成List