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

Clique no link “lei mais” abaixo, para visuailizar o código fonte.

por Wendell Miranda


<%@ page language="java" import="java.sql.*" errorPage="" %>




<%

    int limitePorPagina = 5;

	String pr1 = request.getParameter( "pr" );


    try{

	    Class.forName( "com.mysql.jdbc.Driver" ).newInstance();
	}
	catch( Exception ex ){
	   out.write( "Não carregou o Driver: " + ex.toString() );
	}

	Connection conn = DriverManager.getConnection(
		"jdbc:mysql://10.155.251.9/cdrom?user=root&pass;=" );
	PreparedStatement pstmt  = conn.prepareStatement(
		"SELECT * FROM responsavel LIMIT " + pr1 + "," +
		String.valueOf( limitePorPagina ));
	PreparedStatement pstmt2 = conn.prepareStatement(
		"SELECT count(*) as c FROM responsavel" );
	ResultSet resultado = pstmt.executeQuery();
	ResultSet rs2       = pstmt2.executeQuery();
	rs2.next();

	int totalregs = Integer.parseInt( rs2.getString( "c" ) );
	int totalpgs  = Math.round( totalregs / limitePorPagina );

	if( ( totalregs % limitePorPagina ) > 0 ) totalpgs++;

	int pr = Integer.parseInt( request.getParameter( "pr" ) );
	%>

	<%
	while( resultado.next() ){
	    String id   = resultado.getString( "id_responsavel" );
		String nm   = resultado.getString( "nm_resp" );
		String mail = resultado.getString( "email_resp" );
		%>
		<%=id%>|
        <%=nm%>|
        <%=mail%><br>
<%
	}
%>
<%
    if( pr > 0 ){
%>
[<a href="?pr=0">Primeira Página</a>]
[<a href="?pr=<%=pr-limitePorPagina%>">Anteriores</a>]
<%
    }
%>
<%
    if( pr < ( totalpgs * limitePorPagina ) - limitePorPagina ){
%>
[<a href="?pr=<%=pr+limitePorPagina%>">Próximo</a>]
[<a href="?pr=<%=( totalpgs * limitePorPagina ) - limitePorPagina%>">
Ultima</a>]

<%
    }
%>

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *