Você está aqui: JSP (Java Server Pages) ::: JSP + MySQL ::: Passos Iniciais

Um Bean de conexão que pode ser usado para criar uma conexão persistente

Quantidade de visualizações: 8453 vezes
CRIANDO UM BEAN DE CONEXÃO QUE PODE SER USADO NA SESSÃO

O Bean apresentado a seguir pode ser usado durante toda a sessão do usuário. Quando a sessão expira a conexão é automaticamente fechada.

Use quando sua aplicação tem poucos usuários e você não quiser desperdiçar recursos criando novas conexões a cada requisição de página.

1) Crie a classe abaixo e coloque-a em um pacote chamado "estudos" dentro do diretório classes do WEB-INF de sua aplicação:
package estudos;

import java.sql.*;
import javax.servlet.http.*;

public class BeanConexao implements HttpSessionBindingListener{
	private Connection connection;
	private Statement statement;
	
	private static final String driver = "com.mysql.jdbc.Driver";
	// o nome da base de dados é "test"
	private static final String dbURL = "jdbc:mysql://localhost/test";
	private static final String login = "root";
	private static final String password = "1234";
	
    public BeanConexao(){
    	try{
    		Class.forName(driver);
    		connection = DriverManager.getConnection(dbURL, login, password);
    		statement = connection.createStatement();
    	}
    	catch(ClassNotFoundException e){
    		System.err.println("BeanConexao: driver indisponível");
    		connection = null;
    	}
    	catch(SQLException e){
    		System.err.println("BeanConexao: driver não foi carregado");
    		connection = null;
    	}
    }
    
    public Connection getConnection(){
    	return connection;
    }
    
    public void commit() throws SQLException{
    	connection.commit();
    }
    
    public void rollback() throws SQLException{
    	connection.rollback();
    }
    
    public void setAutoCommit(boolean autoCommit) throws SQLException{
    	connection.setAutoCommit(autoCommit);
    }
    
    public ResultSet executeQuery(String sql) throws SQLException{
    	return statement.executeQuery(sql);
    }
    
    public int executeUpdate(String sql) throws SQLException{
    	return statement.executeUpdate(sql);
    }
    
    public void valueBound(HttpSessionBindingEvent event){
    	System.err.println("BeanConexao: no método valueBound");
    	try{
    		if(connection == null || connection.isClosed()){
    			connection = DriverManager.getConnection(dbURL, login, password);
    			statement = connection.createStatement();
    		}
    	}
    	catch(SQLException e){
    		connection = null;
    	}
    }
    
    public void valueUnbound(HttpSessionBindingEvent event){
    	try{
    		connection.close();
    	}
    	catch(SQLException e){
    		// faz nada aqui	
    	}
    	finally{
    		connection = null;
    	}
    }
    
    protected void finalize(){
    	try{
    		connection.close();
    	}
    	catch(SQLException e){
    		// faz nada aqui
    	}
    }
}
2) Depois de compilar a classe e colocá-la no pacote adequado, chegou a hora de testar. Veja abaixo como isso pode ser feito:
<%@ page language="java" import="java.sql.*" %>
<jsp:useBean id="conn" class="estudos.BeanConexao" scope="session"/>
<html>
<head><title>Aprendendo JSP</title>
</head>
<body>

<%
  // conn é a conexão com o banco de dados
  if(conn != null){
     out.println("Conexão efetuada com sucesso!<br><br>");
  }
  
  // executa um update
  conn.executeUpdate("UPDATE USUARIOS SET SENHA = '1234', IDADE = 35 " +
              " WHERE CODIGO = 434");
              
  // insere um novo registro
  conn.executeUpdate("INSERT INTO USUARIOS " + 
              "VALUES('', 560, 'Marcos da Silva', '4321', 54)");
              
  // faz um select
  String query = "SELECT * FROM USUARIOS WHERE CODIGO > 400";
  ResultSet rs = conn.executeQuery(query);
           
  while (rs.next()) {
      int id = rs.getInt("CODIGO");
      out.println("ID: " + id + "<br>");
      String nome = rs.getString("NOME");
      out.println("NOME: " + nome + "<br>");
      String s = rs.getString("SENHA");
      out.println("SENHA: " + s + "<br>");
      int idade = rs.getInt("IDADE");
      out.println("IDADE: " + idade + "<br><br>");
  }    
%>

</body>
</html>


Link para compartilhar na Internet ou com seus amigos:

Veja mais Dicas e truques de JSP (Java Server Pages)

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 33 usuários muito felizes estudando em nosso site.