Marcelo no cado de users, no exemplo que vc. citou,
vc. deve retornar pra classe que chamou este select um
objeto do tipo user populado, caso o retorno sejam
varios usuarios vc. retorna um vector de users, assim
sua classe de acesso ao DB só faz o acesso ao DB e a
classse que chamou ficaria com os dados pra poder
fazer todo o negócio.


--- Marcelo Figueiredo <[EMAIL PROTECTED]>
wrote:
> 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
> 
=== 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] 
-------------------------------------------------------------------------

Responder a