错误是Expected one result (or null) to be returned by selectOne(), but found: 4
但是我想得到4条数据,Mapper的配置文件怎么写啊?
(Spring+SpringMVC+mybatis)

解决方案 »

  1.   

    你是用selectOne返回一个对象吧?用selectList。返回List集合对象
      

  2.   

      <resultMap id="BaseResultMap" type="com.ntdx.bean.Commodity" >
        <id column="id" property="id" jdbcType="INTEGER" />
        <result column="com_name" property="comName" jdbcType="VARCHAR" />
        <result column="com_price" property="comPrice" jdbcType="DOUBLE" />
        <result column="com_imgpath" property="comImgpath" jdbcType="VARCHAR" />
        <result column="com_sales" property="comSales" jdbcType="INTEGER" />
        <result column="com_stock" property="comStock" jdbcType="INTEGER" />
        <result column="com_house" property="comHouse" jdbcType="INTEGER" />
      </resultMap>
    <select id="findAll" resultMap="BaseResultMap"  parameterType="com.ntdx.page.Page">
        select id, com_name, com_price, com_imgpath, com_sales, com_stock, com_house
        from commodity limit #{index,jdbcType=INTEGER}, #{pageSize,jdbcType=INTEGER}
      </select>
      

  3.   

      <resultMap id="BaseResultMap" type="com.ntdx.bean.Commodity" >
        <id column="id" property="id" jdbcType="INTEGER" />
        <result column="com_name" property="comName" jdbcType="VARCHAR" />
        <result column="com_price" property="comPrice" jdbcType="DOUBLE" />
        <result column="com_imgpath" property="comImgpath" jdbcType="VARCHAR" />
        <result column="com_sales" property="comSales" jdbcType="INTEGER" />
        <result column="com_stock" property="comStock" jdbcType="INTEGER" />
        <result column="com_house" property="comHouse" jdbcType="INTEGER" />
      </resultMap>
    <select id="findAll" resultMap="BaseResultMap"  parameterType="com.ntdx.page.Page">
        select id, com_name, com_price, com_imgpath, com_sales, com_stock, com_house
        from commodity limit #{index,jdbcType=INTEGER}, #{pageSize,jdbcType=INTEGER}
      </select>selectOne是不是返回一个对象?因为看你错误因为是返回了4个 估计应该返回个list就对了
      

  4.   

      <resultMap id="BaseResultMap" type="com.ntdx.bean.Commodity" >
        <id column="id" property="id" jdbcType="INTEGER" />
        <result column="com_name" property="comName" jdbcType="VARCHAR" />
        <result column="com_price" property="comPrice" jdbcType="DOUBLE" />
        <result column="com_imgpath" property="comImgpath" jdbcType="VARCHAR" />
        <result column="com_sales" property="comSales" jdbcType="INTEGER" />
        <result column="com_stock" property="comStock" jdbcType="INTEGER" />
        <result column="com_house" property="comHouse" jdbcType="INTEGER" />
      </resultMap>
    <select id="findAll" resultMap="BaseResultMap"  parameterType="com.ntdx.page.Page">
        select id, com_name, com_price, com_imgpath, com_sales, com_stock, com_house
        from commodity limit #{index,jdbcType=INTEGER}, #{pageSize,jdbcType=INTEGER}
      </select>selectOne是不是返回一个对象?因为看你错误因为是返回了4个 估计应该返回个list就对了我是做分页,一页只有4条数据,但数据库里有5条
      

  5.   

      <resultMap id="BaseResultMap" type="com.ntdx.bean.Commodity" >
        <id column="id" property="id" jdbcType="INTEGER" />
        <result column="com_name" property="comName" jdbcType="VARCHAR" />
        <result column="com_price" property="comPrice" jdbcType="DOUBLE" />
        <result column="com_imgpath" property="comImgpath" jdbcType="VARCHAR" />
        <result column="com_sales" property="comSales" jdbcType="INTEGER" />
        <result column="com_stock" property="comStock" jdbcType="INTEGER" />
        <result column="com_house" property="comHouse" jdbcType="INTEGER" />
      </resultMap>
    <select id="findAll" resultMap="BaseResultMap"  parameterType="com.ntdx.page.Page">
        select id, com_name, com_price, com_imgpath, com_sales, com_stock, com_house
        from commodity limit #{index,jdbcType=INTEGER}, #{pageSize,jdbcType=INTEGER}
      </select>selectOne是不是返回一个对象?因为看你错误因为是返回了4个 估计应该返回个list就对了我是做分页,一页只有4条数据,但数据库里有5条
    那你有没有selectOne?  把你java代码贴出来  查询数据后逻辑处理,,是不是你返回的是一个对象而不是集合?
      

  6.   

    你的mapper接口里面用LIst<你的对象>  去接收