Paginação com JSP e MySQL

Veja um tutorial de java: Paginação com JSP e MySQL.

Artigo estraído do site: www.portaljava.com

Autor: Wendell Miranda

 

Paginação com JSP e MySQL

 

Bom, este tutorial é bem simples. Utilizei apenas Scriptles para fazer a paginação no banco de dados MySQL.
É um código bem simples e fácil de entender. Ao testar sua paginação não esqueça de colocar o parâmetro na sua url:
Exemplo: http://localhost:8080/site/page.jsp?pr=0

 

<SPAN ><%@ page language="java" import="java.sql.*" errorPage="" %></FONT></SPAN>
<SPAN ><%</FONT></SPAN>
<SPAN > </FONT></SPAN>
<SPAN >int limitePorPagina = 5;</FONT></SPAN>
<SPAN > </FONT></SPAN>
<SPAN >String pr1 = request.getParameter( "pr" );</FONT></SPAN>
<SPAN > </FONT></SPAN>
<SPAN > </FONT></SPAN>
<SPAN >try{</FONT></SPAN>
<SPAN > </FONT></SPAN>
<SPAN >Class.forName( "com.mysql.jdbc.Driver" ).newInstance();</FONT></SPAN>
<SPAN >}</FONT></SPAN>
<SPAN >catch( Exception ex ){</FONT></SPAN>
<SPAN ><SPAN >   </SPAN>out.write( "Não carregou o Driver: " + ex.toString() );</FONT></SPAN>
<SPAN >}</FONT></SPAN>
<SPAN > </FONT></SPAN>
<SPAN >Connection conn = DriverManager.getConnection(</FONT></SPAN>
<SPAN >"jdbc:mysql://10.155.251.9/cdrom?user=root&pass=" );</FONT></SPAN>
<SPAN >PreparedStatement pstmt<SPAN >  </SPAN>= conn.prepareStatement(</FONT></SPAN>
<SPAN >"SELECT * FROM responsavel LIMIT " + pr1 + "," +</FONT></SPAN>
<SPAN >String.valueOf( limitePorPagina ));</FONT></SPAN>
<SPAN >PreparedStatement pstmt2 = conn.prepareStatement(</FONT></SPAN>
<SPAN >"SELECT count(*) as c FROM responsavel" );</FONT></SPAN>
<SPAN >ResultSet resultado = pstmt.executeQuery();</FONT></SPAN>
<SPAN >ResultSet rs2= pstmt2.executeQuery();</FONT></SPAN>
<SPAN >rs2.next();</FONT></SPAN>
<SPAN > </FONT></SPAN>
<SPAN >int totalregs = Integer.parseInt( rs2.getString( "c" ) );</FONT></SPAN>
<SPAN >int totalpgs<SPAN >  </SPAN>= Math.round( totalregs / limitePorPagina );</FONT></SPAN>
<SPAN > </FONT></SPAN>
<SPAN >if( ( totalregs % limitePorPagina ) > 0 ) totalpgs++;</FONT></SPAN>
<SPAN > </FONT></SPAN>
<SPAN >int pr = Integer.parseInt( request.getParameter( "pr" ) );</FONT></SPAN>
<SPAN >%></FONT></SPAN>
<SPAN > </FONT></SPAN>
<SPAN ><%</FONT></SPAN>
<SPAN >while( resultado.next() ){</FONT></SPAN>
<SPAN >String id<SPAN >   </SPAN>= resultado.getString( "id_responsavel" );</FONT></SPAN>
<SPAN >String nm<SPAN >   </SPAN>= resultado.getString( "nm_resp" );</FONT></SPAN>
<SPAN >String mail = resultado.getString( "email_resp" );</FONT></SPAN>
<SPAN >%></FONT></SPAN>
<SPAN ><%=id%>|</FONT></SPAN>
<SPAN ><%=nm%>|</FONT></SPAN>
<SPAN ><%=mail%><br></FONT></SPAN>
<SPAN ><%</FONT></SPAN>
<SPAN >}</FONT></SPAN>
<SPAN >%></FONT></SPAN>
<SPAN ><%</FONT></SPAN>
<SPAN >if( pr > 0 ){</FONT></SPAN>
<SPAN >%></FONT></SPAN>
<SPAN >[<a href="?pr=0">Primeira Página</a>]</FONT></SPAN>
<SPAN >[<a href="?pr=<%=pr-limitePorPagina%>">Anteriores</a>]</FONT></SPAN>
<SPAN ><%</FONT></SPAN>
<SPAN >}</FONT></SPAN>
<SPAN >%></FONT></SPAN>
<SPAN ><%</FONT></SPAN>
<SPAN >if( pr < ( totalpgs * limitePorPagina ) - limitePorPagina ){</FONT></SPAN>
<SPAN >%></FONT></SPAN>
<SPAN >[<a href="?pr=<%=pr+limitePorPagina%>">Próximo</a>]</FONT></SPAN>
<SPAN >[<a href="?pr=<%=( totalpgs * limitePorPagina ) - limitePorPagina%>"></FONT></SPAN>
<SPAN >Ultima</a>]</FONT></SPAN>
<SPAN > </FONT></SPAN>
<SPAN ><%</FONT></SPAN>
<SPAN >}</FONT></SPAN>
<SPAN >%></FONT></SPAN>
 </FONT>

 

Artigos relacionados