Expected one result (or null) to be returned by selectOne(), but found: 5
1.原因分析
myabtis的xml配置bean數據庫等均無錯誤,當 select返回單個結果集時,不會報錯,多個結果集時則報錯。
2.報錯現象
·dao定義如下
/**
* 獲取datagrid數據
* @param example
* @param daaId
* @return
*/
Page<DaaOrginfo> getDataGridByExample(@Param("example")Example example, @Param("daaId")String daaId);
·通過mapper調用dao
Page<DaaOrginfo> daaOrginfoPage = daaOrginfoxMapper.getDataGridByExample(example, daaId);
返回結果如:Expected one result (or null) to be returned by selectOne(), but found: 5
這是因爲:會自動選擇selectOne()方法,由於只能返回一個對象的結果,當返回到多個對象的結果集時報錯。getUser是一個student類的bean無法接受多個結果集,則改用List就可以接受多個結果集
3.解決方法
·dao定義返回值修改爲List
/**
* 獲取datagrid數據(dao接口)
* @param example
* @param daaId
* @return
*/
List<DaaOrginfo> getDataGridByExample(@Param("example")Example example, @Param("daaId")String daaId);
·service實現類返回值修改爲List
/**
* 獲取datagrid數據(service實現類)
* @param example
* @param daaId
* @return
*/
List<DaaOrginfo> daaOrginfoPage = daaOrginfoxMapper.getDataGridByExample(example, daaId);