1 建表 test CREATE TABLE IF NOT EXISTS `test` ( `id` int(11) NOT NULL auto_increment, `sort` int(11) `title` varchar(50), PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=gb2312 AUTO_INCREMENT=1 ;2 存储过程代码DELIMITER $$; DROP PROCEDURE IF EXISTS `sp_page`$$ CREATE PROCEDURE `sp_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$$ DELIMITER ;$$ 3 调用 call sp_Page(1,3,'*','test','order by id desc');
调用session的createQuery()方法
此方法返回的是一个Query类型的对象
/**
* 查询所有的部门信息
* @return 集合类
*/
public List selectAllDeptInf()
{
Session session = SessionFact.getSession();
Transaction t = session.beginTransaction();
Query query = session.createQuery("from DeptVO");
List list = (List)query.list();
session.close();
return list;
}
这点我知道,这调用了怎么返回个List集合啊?怎么才能返回个List集合在jsp页面显示
CREATE TABLE IF NOT EXISTS `test` (
`id` int(11) NOT NULL auto_increment,
`sort` int(11)
`title` varchar(50),
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312 AUTO_INCREMENT=1 ;2 存储过程代码DELIMITER $$;
DROP PROCEDURE IF EXISTS `sp_page`$$
CREATE PROCEDURE `sp_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$$
DELIMITER ;$$
3 调用 call sp_Page(1,3,'*','test','order by id desc');
<logic:iterate>