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 persistenteQuantidade de visualizações: 8634 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
}
}
}
<%@ 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>
|
|
|
Veja mais Dicas e truques de JSP (Java Server Pages) |
Dicas e truques de outras linguagens |
|
C - Como somar os elementos de um vetor em C usando uma função recursiva - Linguagem C para iniciantes Java - Estruturas de dados em Java - Como obter a quantidade de nós em uma árvore binária usando Java |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





