自己扩展封装Hibernate模板DAO-之三Hibernate+JSP的分页功能

 

使用Haha.hibernate.jar完成Hibernate+JSP的分页功能
1.创建项目,添加Hibernate支持,并将驱动包和haha.hibernate.jar相关包引入
2.创建实体Bean(这里我采用注解)Book.java

@Entity(name="Books")
public class Book implements Serializable {
	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	private int id;
	private String title;
	...
}

3.配置hibernate.cfg.xml

<mapping class="com.haha.bean.Book" />

4.编写数据访问层类BookDao

public class BookDao extends HibernateDao<Book, Integer> {
	/**
	 * 分页查询
	 * @param pageSize 页大小
	 * @param pageIndex 当前页面码,从0开始
	 * @return 返回分页对象
	 */	
	public Page<Book> findAllByPage(int pageSize,int pageIndex){
		Page<Book> page=new Page<Book>(pageSize);
		page.setPageNo(pageIndex);
		findPage(page);
		return page;
	}
}

5.在JSP页面中使用,核心代码:

    <%
    	//创建Http工具类
    	HttpTools ht=new HttpTools(request);
    	//创建DAO类,简化了操作,没有使用Biz层
    	BookDao bookDao=new BookDao();
    	//页大小
    	int pageSize=10;
    	//当前页码
    	int pageIndex= ht.getInt("p");
    	//分页查询
    	Page<Book> pg=bookDao.findAllByPage(pageSize,pageIndex);
    	//将图书对象放入request,方便使用JSTL获取
    	request.setAttribute("books",pg.getResult());
    %>
    <table border="1">
    	<tr>
    		<th>ID</th>
    		<th>Title</th>
    		<th>Author</th>
    		<th>UnitPrice</th>
    	</tr>
    	<c:forEach items="${books}" var="b">
    		<tr>
    			<td>${b.id}</td>
    			<td>${b.title}</td>
    			<td>${b.author}</td>
    			<td>${b.unitPrice}</td>
    		</tr>
    	</c:forEach>
    	<tr>
    		<td colspan="4"><%=pg.makeNav("index.jsp")%></td>
    	</tr>
    </table>

6.运行后效果


你可能感兴趣的:(jsp,Hibernate,Integer,Class,扩展,books)