配置:
<parameterMaps>
<parameterMap id="ParamFindPage" class="Hashtable"><parameter property="_pagecurrent"/>
<parameter property="_pagesize"/>
<parameter property="_ifelse"/>
<parameter property="_where"/>
<parameter property="_order"/>
</parameterMap>
</parameterMaps><procedure id="GetMyChapterFindPage" parameterMap="ParamFindPage" resultMap="Chapter-result">
Novel_page
</procedure>
代码:Hashtable ht = new Hashtable();ht.Add("_pagecurrent", pageIndex);
ht.Add("_pagesize", pageSize);
ht.Add("_ifelse", tabName);
ht.Add("_where", tabWhere);
ht.Add("_order", tabOrder);
IList<MyChapter> list =MapperDao.GetMaper.QueryForList<MyChapter>("MyChapter.GetMyChapterFindPage", ht);错误提示:无法将类型为“System.Object[]”的对象强制转换为类型“NovelModel.MyChapter”。 感觉应该是配置文件有误啊,可我看ibtais也是这样配置啊,在net里就不行,一直说转型错误,请问还要配那里?
<parameterMaps>
<parameterMap id="ParamFindPage" class="Hashtable"><parameter property="_pagecurrent"/>
<parameter property="_pagesize"/>
<parameter property="_ifelse"/>
<parameter property="_where"/>
<parameter property="_order"/>
</parameterMap>
</parameterMaps><procedure id="GetMyChapterFindPage" parameterMap="ParamFindPage" resultMap="Chapter-result">
Novel_page
</procedure>
代码:Hashtable ht = new Hashtable();ht.Add("_pagecurrent", pageIndex);
ht.Add("_pagesize", pageSize);
ht.Add("_ifelse", tabName);
ht.Add("_where", tabWhere);
ht.Add("_order", tabOrder);
IList<MyChapter> list =MapperDao.GetMaper.QueryForList<MyChapter>("MyChapter.GetMyChapterFindPage", ht);错误提示:无法将类型为“System.Object[]”的对象强制转换为类型“NovelModel.MyChapter”。 感觉应该是配置文件有误啊,可我看ibtais也是这样配置啊,在net里就不行,一直说转型错误,请问还要配那里?
这是存储过程CREATE PROCEDURE Novel_page(
in _pagecurrent int,/*当前页*/
in _pagesize int,/*每页的记录数*/
in _ifelse varchar(1000),/*显示字段*/
in _where varchar(1000),/*条件*/
in _order varchar(1000)/*排序*/
)
COMMENT '分页存储过程'
BEGIN
if _pagesize<=1 then
set _pagesize=20;
end if;
if _pagecurrent < 1 then
set _pagecurrent = 1;
end if;
set @strsql = concat('select ',_ifelse,' from ',_where,' ',_order,' limit ',_pagecurrent*_pagesize-_pagesize,',',_pagesize);
prepare stmtsql from @strsql;
execute stmtsql;
deallocate prepare stmtsql; set @strsqlcount=concat('select count(1) as count from ',_where);/*count(1) 这个字段最好是主键*/
prepare stmtsqlcount from @strsqlcount;
execute stmtsqlcount;
deallocate prepare stmtsqlcount;
END