Pessoal, estou com uma duvida quanto a conexao separada da
apresentacao(jsp).
Atualmente coloco a conexao ao banco e a consulta na pagina jsp. Tudo
misturado . Uma bagunca com o html.
Eu utilizo o pool de conexoes do resin. Entao quando um usu�rio abre a
p�gina, entao uma conexao eh criada para ele.
Eu nao estou conseguindo entender eh como que , criando uma classe de
conexao, eu mantenha a conexao para cada usuario, e aproveitando o pool do
resin.
Assim, dois usuario fazem duas pesquisas diferentes na mesma pagina
consulta.jsp, e como que eu trato a conexao de cada um?
obrigado pela atencao.
----- Original Message -----
From: "Marcelo Figueiredo" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, August 16, 2001 2:51 PM
Subject: Re: [java-list] Separar_a_parte_de_BD(persist�ncia)_da_aplica��o
> Oi fernando,
>
> no caso de opera��es como inclus�o eu consigo visualizar, mas em opera��es
> de consulta que retornam v�rios valores eu n�o vejo como resgatar as
> informa��es.
>
> Ex: select * from users
> depois de fazer um select eu vou trabalhando com os campos que me
interessam
>
> rs.getString("username");
> rs.getString("nome_completo");
>
> Caso eu for fazer isto por esta solu��o eu teria que fazer um m�todo para
> cada "tipo de get"?(get username) get nome, etc
>
>
> Agrade�o desde j� sua aten��o.
>
>
>
> ----- Original Message -----
> From: "Fernando Luiz" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Wednesday, August 15, 2001 17:17
> Subject: Re: [java-list] Separar_a_parte_de_BD(persist�ncia)_da_aplica��o
>
>
> > Exato, construa classes de acesso a dados, que fa�am
> > somente isso, Ex. select na tabela x, o m�todo acessa
> > faz o select e te retorna o resultado esperado, a
> > classe de regra de neg�cio � quem vai chamar esta
> > classe que acessa o DB passando para ela parametros e
> > recebendo o resultado da pesquisa ou da inclus�o
> > qualquer que for a opera��o.
> >
> > Assim o commit ficaria na classe de negocio
> > controlando todo o fluxo de opera��es sql.
> >
> > Sem mais
> >
> > Fernando
> > --- Marcelo Figueiredo <[EMAIL PROTECTED]>
> > wrote:
> > > Oi pessoal,
> > >
> > > algum tempo atr�s o Marcel envio um e-mail para
> > > lista com dicas para separar
> > > a parte de persist�ncia, e no momento estou tentando
> > > implementar uma classe
> > > que fa�a isso. Gostaria de saber se algu�m tem
> > > outros exemplos ou
> > > informa��es de como implementar isso.
> > >
> > >
> > > ----- Original Message -----
> > > From: "Marcel Efraim Sakamoto"
> > > <[EMAIL PROTECTED]>
> > > To: <[EMAIL PROTECTED]>
> > > Sent: Friday, June 08, 2001 18:23
> > > Subject: RES: [java-list] D�vida sobre Statements
> > > com Servlets
> > >
> > >
> > > > Carlos,
> > > >
> > > > antes de mais nada, se eu fosse voc� colocaria
> > > toda a l�gica de conex�o e
> > > > demais opera��es com bancos de dados numa outra
> > > classe, ou seja, fora do
> > > > servlet. Isso vai lhe ajudar bastante,
> > > principalmente na hora de dar
> > > > manuten��o.
> > > >
> > > > Se voc� fizer isso, a parte que abre a conex�o com
> > > o banco de dados
> > > poderia
> > > > ficar no construtor dessa classe, por exemplo.
> > > Depois, voc� pode criar um
> > > > m�todo que execute seu Statement utilizando a
> > > conex�o que foi aberta
> > > (logo,
> > > > o objeto Connection deve ser um atributo - de
> > > prefer�ncia privado - dessa
> > > > classe).
> > > >
> > > > Por exemplo:
> > > > package <seu pacote>;
> > > >
> > > > import java.sql.Connection;
> > > > import java.sql.Statement;
> > > > import java.sql.ResultSet;
> > > >
> > > > public class DBAccess {
> > > >
> > > > private static final String DRIVER = <driver do
> > > seu banco de dados>;
> > > > private static final String URL = <url para
> > > acessar as tabelas>;
> > > > private Connection conn;
> > > >
> > > > public DBAccess() {
> > > > // Registra o driver
> > > > Class.forName(DRIVER).newInstance();
> > > > // Abre a conex�o com o banco de dados
> > > > conn =
> > > DriverManager.getConnection(URL);
> > > > }
> > > >
> > > > public <seu retorno> getX() {
> > > > String query = <sua query>;
> > > >
> > > > ResultSet rs = null;
> > > > Statement stmt = null;
> > > > try {
> > > > stmt = this.conn.createStatement();
> > > > rs = stmt.executeQuery(query);
> > > >
> > > > return <o objeto que voc� quiser>;
> > > > } catch(Exception e) {
> > > > // Tratamento da exce��o
> > > > } finally {
> > > > try {
> > > > if (rs != null) {
> > > > rs.close();
> > > > }
> > > >
> > > > if (stmt != null) {
> > > > stmt.close();
> > > > }
> > > > } catch (Exception ignored) {
> > > > // N�o tem problema se n�o conseguiu fechar o
> > > statement
> > > > } finally {
> > > > rs = null;
> > > > stms null;
> > > > }
> > > > }
> > > > }
> > > > }
> > > >
> > > > A� ent�o, no servlet, quando voc� quiser obter
> > > executar alguma query,
> > > basta
> > > > criar uma inst�ncia dessa classe e chamar o m�todo
> > > correto. Mas n�o se
> > > > esque�a de criar um m�todo que feche a conex�o. �
> > > melhor que seja num
> > > m�todo
> > > > separado (ao inv�s de colocar no pr�prio m�todo
> > > que executa a query)
> > > porque
> > > > se voc� for fazer outra opera��o com o banco de
> > > dados, n�o � necess�rio
> > > > criar uma nova conex�o, voc� pode aproveitar a que
> > > est� aberta.
> > > >
> > > > Como voc� p�de perceber isso n�o tem nada a ver
> > > com servlets.
> > > >
> > > > Espero que lhe seja �til.
> > > >
> > > > Marcel.
> > > >
> > > > -----Mensagem original-----
> > > > De: Carlos Campos [mailto:[EMAIL PROTECTED]]
> > > > Enviada em: sexta-feira, 8 de junho de 2001 12:50
> > > > Para: '[EMAIL PROTECTED]'
> > > > Assunto: RES: [java-list] D�vida sobre Statements
> > > com Servlets
> > > >
> > > >
> > > > Oi Eduardo,
> > > >
> > > > Primeiramente agrade�o pela resposta, mas s� pra
> > > FECHAR:
> > > >
> > > > - Abre-se sempre a conex�o no m�todo init() e
> > > abre-se sempre o statement
> > > no
> > > > m�todo service(), CORRETO ???
> > > >
> > > > []'s
> > > >
> > > > Carlos Campos
> > > >
> > > > > ----- Mensagem original -----
> > > > > De: Eduardo de S. Bernardino
> > > [SMTP:[EMAIL PROTECTED]]
> > > > > Enviada em: Sexta-feira, 8 de Junho de 2001
> > > 11:05
> > > > > Para: [EMAIL PROTECTED]
> > > > > Assunto: Re: [java-list] D�vida sobre Statements
> > > com Servlets
> > > > >
> > > > > Respondendo �s d�vidas, segundo o pouco que
> > > conhe�o. N�o sei se � a
> > > melhor
> > > > > solu��o, mas ai vai:
> > > > >
> > > > > 1 - ) A conex�o se for do tipo static ser�
> > > acessada por todas as
> > > > > inst�ncias
> > > > > do servlet. Ou seja voc� e outro carinha que
> > > acessarem o mesmo servlet
> > > de
> > > > > m�quinas diferentes utilizar�o a mesma conex�o.
> > > Para conectar com o
> > > banco
> > > > > de
> > > > > dados, o ideal � no construtor ou no m�todo
> > > init() mesmo.
> > > > >
> > > > > 2 - ) Abra os statements sempre antes da
> > > execu��o do comando SQL e
> > > feche-o
> > > > > ap�s a conclus�o ou obten��o de dados do
> > > resultset.
> > > > >
> > > > > 3 - ) Acesso simult�neo � complicado, deve-se
> > > utilizar pool de conex�es
> > > > > para
> > > > > evitar erros no acesso simult�neo. Tente
> > > encontrar exemplos nos sites de
> > > > > servlets dispon�veis na net:
> > > > >
> > > > > www.servlets.com
> > > > > www.coolservlets.com
> > > > >
> > > > > Agora n�o sei se � poss�vel acesso concorrente
> > > com o Access. Ele n�o �
> > > um
> > > > > banco muito indicado para aplica��es com
> > > servlets. Tente buscar alguma
> > > > > documenta��o a respeito disto. Quem sabe...
> > > > >
> > > > > Abra�os
> > > > > Eduardo
> > > > > eCorp
> > > > > [EMAIL PROTECTED]
> > > > >
> > > > >
> > > > > ----- Original Message -----
> > > > > From: "Carlos Campos" <[EMAIL PROTECTED]>
> > > > > To: "'Lista SouJava'" <[EMAIL PROTECTED]>
> > >
> > === message truncated ===
> >
> >
> > __________________________________________________
> > Do You Yahoo!?
> > Make international calls for as low as $.04/minute with Yahoo! Messenger
> > http://phonecard.yahoo.com/
> >
> > ------------------------------ LISTA
SOUJAVA ----------------------------
> > http://www.soujava.org.br - Sociedade de Usu�rios Java da Sucesu-SP
> > d�vidas mais comuns: http://www.soujava.org.br/faq.htm
> > regras da lista: http://www.soujava.org.br/regras.htm
> > para sair da lista: envie email para
[EMAIL PROTECTED]
>
> -------------------------------------------------------------------------
> >
>
>
> ------------------------------ LISTA SOUJAVA ----------------------------
> http://www.soujava.org.br - Sociedade de Usu�rios Java da Sucesu-SP
> d�vidas mais comuns: http://www.soujava.org.br/faq.htm
> regras da lista: http://www.soujava.org.br/regras.htm
> para sair da lista: envie email para [EMAIL PROTECTED]
> -------------------------------------------------------------------------
>
------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br - Sociedade de Usu�rios Java da Sucesu-SP
d�vidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------