Re: [java-list] como obter chave primaria em paginas jsp ??
Olas, vou dar duas alternativas, uma que ainda segue esse esquema de insercao e depois consulta, mas com um impacto menor (somente para Oracle) e outro (recomendavel nesse caso) que nao tem nada a ver com banco de dados. 1). Ao inves de fazer um "insert into table values (sequence.NEXTVAL, ...", faca: "select sequence.NEXTVAL from DUAL" e pegue a chave primaria atual. Entao pegue esse valor atraves de um getXXX e o use diretamente no insert. 2). Mantenha uma variavel no objeto application que represente a chave primaria. Toda vez que voce desejar a chave primaria atual voce trava esse objeto, pega o valor e o incrementa. Acho essa a melhor solucao. Abracos, Bruno. On Thu, 22 Feb 2001, jspdeveloper wrote: |boa tarde javaneses, | |fiz um sistema de inscricao via web onde o usuario recebe o numero de |inscricao via e-mail. | |mas acho que a forma que eu faco isto nao eh muito profissional : | |1- apos pegar e validar os valores vindos de um formulario de inscricao, eu |executo um 'insert'. |2 depois disso eu dou um select id_usuario from usuarios where nome = |formNome and cpf = fromCPF. (obs:formNome e formCPF sao valores vindos do |formulario.) |3- verifico o ResultSet.next() e se for verdadeiro eu pego o id_usuario |atraves de um getXXX("id_usuario"). |4 - de posse do id_usuario em maos , eu formato minha mensagem e envio o |email. | |Acho que esta forma de programacao nao cai bem em sistemas com grande |quantidade de usuarios e concorrencia. Imagino que estou fazendo errado. Nao |sei muito de banco de dados mas acho que existe outra forma de se obter um |ID (chave primaria unica gerada por sequence(oracle) ou |auto_increment(mysql)) sem ser da forma insert-select. | |alguem tem alguma sugestao para casos deste tipo. | |obrigado pela atencao. | | | | | | | | | |-- LISTA SOUJAVA |http://www.soujava.org.br - Sociedade de Usurios Java da Sucesu-SP |dvidas 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] |- | __ Bruno Diniz de Paula [EMAIL PROTECTED] - UFMG "Coracoes ao alto e pes no chao." "A verdadeira experiencia com Deus nao nos faz fugir da realidade, mas nos da forcas para enfrenta-la e transforma-la." Pe. Zeca -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usurios Java da Sucesu-SP dvidas 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] -
Re: [java-list] como obter chave primaria em paginas jsp ??
Bom dia ! Existem alguns fatores a se considerar num projeto de inscrio on-line: 1) A resposta deve ser on-line( o que vc desenvolveu ) 2) A resposta pode ter um periodo( a cada 15 minutos ) 3) A resposta pode ter um periodo( a cada 15 minutos ) mas somente envias as que algum administrador autorizou. No mnimo estas trs situaes existem hoje no Mercado, vale agora saber a que seu cliente melhor se adapta. com certeza a terceira com parametros de configurao para atender as outras duas o ideal. Grato, Luis :. "jspdeveloper" [EMAIL PROTECTED] em 22/02/2001 14:59:50 Favor responder a [EMAIL PROTECTED] Para:[EMAIL PROTECTED] cc: (bcc: Luis Alexandre Bortoletti/SENAC) Assunto: [java-list] como obter chave primaria em paginas jsp ?? boa tarde javaneses, fiz um sistema de inscricao via web onde o usuario recebe o numero de inscricao via e-mail. mas acho que a forma que eu faco isto nao eh muito profissional : 1- apos pegar e validar os valores vindos de um formulario de inscricao, eu executo um 'insert'. 2 depois disso eu dou um select id_usuario from usuarios where nome = formNome and cpf = fromCPF. (obs:formNome e formCPF sao valores vindos do formulario.) 3- verifico o ResultSet.next() e se for verdadeiro eu pego o id_usuario atraves de um getXXX("id_usuario"). 4 - de posse do id_usuario em maos , eu formato minha mensagem e envio o email. Acho que esta forma de programacao nao cai bem em sistemas com grande quantidade de usuarios e concorrencia. Imagino que estou fazendo errado. Nao sei muito de banco de dados mas acho que existe outra forma de se obter um ID (chave primaria unica gerada por sequence(oracle) ou auto_increment(mysql)) sem ser da forma insert-select. alguem tem alguma sugestao para casos deste tipo. obrigado pela atencao. -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usurios Java da Sucesu-SP dvidas 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 Usurios Java da Sucesu-SP dvidas 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] -
Re: [java-list] como obter chave primaria em paginas jsp ??
boa tarde!!! no meu caso, a terceira opcao jah foi desenvolvida. O numero de inscricao sera enviado atraves de email ( isto eu jah desenvolvi ) apos a confirmacao de pagamento do usuario mas de inicio, o usuario recebe um numero de acompanhamento, e este deve ser feito atraves da opcao 1. Como expliquei antes, na pagina de resposta (apos o preenchimento do form) jah deve constar este numero. um amigo da lista , Jorge Martins [EMAIL PROTECTED], deu a ideia de se fazer uma storage procedure no db. Eu achei interessante, mas acho q com isso eu soh estaria colocando o meu (insert/select) no StProc. (Sou muito leigo neste aspecto. Sorry if im made a mistake (que ingles ugly!). Eu estou preocupado mesmo eh com a tal da concorrencia, nao no decorrer do periodo de inscricoes mas sim no ultimo dia de inscricao ! aih o bicho pega ! Mil e poucos threads concorrendo a CPU ! (serah q estou muito preocupado com a "concorrencia" ou devo pensar desta forma ?) . o0 bom, neste momento verifiquei mais emails com outras solucoes vou tentar aplicar a melhor ( ou a que eu der conta :) ) obrigado a todos pelas ajudas. - Original Message - From: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Friday, February 23, 2001 11:47 AM Subject: Re: [java-list] como obter chave primaria em paginas jsp ?? Bom dia ! Existem alguns fatores a se considerar num projeto de inscrio on-line: 1) A resposta deve ser on-line( o que vc desenvolveu ) 2) A resposta pode ter um periodo( a cada 15 minutos ) 3) A resposta pode ter um periodo( a cada 15 minutos ) mas somente envias as que algum administrador autorizou. No mnimo estas trs situaes existem hoje no Mercado, vale agora saber a que seu cliente melhor se adapta. com certeza a terceira com parametros de configurao para atender as outras duas o ideal. Grato, Luis :. "jspdeveloper" [EMAIL PROTECTED] em 22/02/2001 14:59:50 Favor responder a [EMAIL PROTECTED] Para:[EMAIL PROTECTED] cc: (bcc: Luis Alexandre Bortoletti/SENAC) Assunto: [java-list] como obter chave primaria em paginas jsp ?? boa tarde javaneses, fiz um sistema de inscricao via web onde o usuario recebe o numero de inscricao via e-mail. mas acho que a forma que eu faco isto nao eh muito profissional : 1- apos pegar e validar os valores vindos de um formulario de inscricao, eu executo um 'insert'. 2 depois disso eu dou um select id_usuario from usuarios where nome = formNome and cpf = fromCPF. (obs:formNome e formCPF sao valores vindos do formulario.) 3- verifico o ResultSet.next() e se for verdadeiro eu pego o id_usuario atraves de um getXXX("id_usuario"). 4 - de posse do id_usuario em maos , eu formato minha mensagem e envio o email. Acho que esta forma de programacao nao cai bem em sistemas com grande quantidade de usuarios e concorrencia. Imagino que estou fazendo errado. Nao sei muito de banco de dados mas acho que existe outra forma de se obter um ID (chave primaria unica gerada por sequence(oracle) ou auto_increment(mysql)) sem ser da forma insert-select. alguem tem alguma sugestao para casos deste tipo. obrigado pela atencao. -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usurios Java da Sucesu-SP dvidas 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 Usurios Java da Sucesu-SP dvidas 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 Usurios Java da Sucesu-SP dvidas 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] -
Re: [java-list] como obter chave primaria em paginas jsp ??
Boa Tarde ! Vc est no caminho certo, a sua preoucupao mais do que vlida, chega a ser vital para seu projeto. Verifique apenas se seu servidor Web e seu servidor de Banco de dados esto configurados para receber tamanha carga ! A deia de Stored procedure tem validade, pois, vc estar delegando o processamento da inscrio para o Servidor de Banco de dados, deixando a CPU de seu Web Server liberada para responder a um numero maior de Requests, porm, seu Banco de dados dever estar em muito boas condies, pois, caso contrrio o resultado ser inverso, o servidor WEB receber as Requests de usurios e s infileirar, chegando ao ponto de alguns usurios receberem TIME OUT, pois a resposta do banco de dados no foi suficientemente rpida. Boa Sorte ! Luis :. "jspdeveloper" [EMAIL PROTECTED] em 23/02/2001 14:18:02 Favor responder a [EMAIL PROTECTED] Para:[EMAIL PROTECTED] cc: (bcc: Luis Alexandre Bortoletti/SENAC) Assunto: Re: [java-list] como obter chave primaria em paginas jsp ?? boa tarde!!! no meu caso, a terceira opcao jah foi desenvolvida. O numero de inscricao sera enviado atraves de email ( isto eu jah desenvolvi ) apos a confirmacao de pagamento do usuario mas de inicio, o usuario recebe um numero de acompanhamento, e este deve ser feito atraves da opcao 1. Como expliquei antes, na pagina de resposta (apos o preenchimento do form) jah deve constar este numero. um amigo da lista , Jorge Martins [EMAIL PROTECTED], deu a ideia de se fazer uma storage procedure no db. Eu achei interessante, mas acho q com isso eu soh estaria colocando o meu (insert/select) no StProc. (Sou muito leigo neste aspecto. Sorry if im made a mistake (que ingles ugly!). Eu estou preocupado mesmo eh com a tal da concorrencia, nao no decorrer do periodo de inscricoes mas sim no ultimo dia de inscricao ! aih o bicho pega ! Mil e poucos threads concorrendo a CPU ! (serah q estou muito preocupado com a "concorrencia" ou devo pensar desta forma ?) . o0 bom, neste momento verifiquei mais emails com outras solucoes vou tentar aplicar a melhor ( ou a que eu der conta :) ) obrigado a todos pelas ajudas. - Original Message - From: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Friday, February 23, 2001 11:47 AM Subject: Re: [java-list] como obter chave primaria em paginas jsp ?? Bom dia ! Existem alguns fatores a se considerar num projeto de inscrio on-line: 1) A resposta deve ser on-line( o que vc desenvolveu ) 2) A resposta pode ter um periodo( a cada 15 minutos ) 3) A resposta pode ter um periodo( a cada 15 minutos ) mas somente envias as que algum administrador autorizou. No mnimo estas trs situaes existem hoje no Mercado, vale agora saber a que seu cliente melhor se adapta. com certeza a terceira com parametros de configurao para atender as outras duas o ideal. Grato, Luis :. "jspdeveloper" [EMAIL PROTECTED] em 22/02/2001 14:59:50 Favor responder a [EMAIL PROTECTED] Para:[EMAIL PROTECTED] cc: (bcc: Luis Alexandre Bortoletti/SENAC) Assunto: [java-list] como obter chave primaria em paginas jsp ?? boa tarde javaneses, fiz um sistema de inscricao via web onde o usuario recebe o numero de inscricao via e-mail. mas acho que a forma que eu faco isto nao eh muito profissional : 1- apos pegar e validar os valores vindos de um formulario de inscricao, eu executo um 'insert'. 2 depois disso eu dou um select id_usuario from usuarios where nome = formNome and cpf = fromCPF. (obs:formNome e formCPF sao valores vindos do formulario.) 3- verifico o ResultSet.next() e se for verdadeiro eu pego o id_usuario atraves de um getXXX("id_usuario"). 4 - de posse do id_usuario em maos , eu formato minha mensagem e envio o email. Acho que esta forma de programacao nao cai bem em sistemas com grande quantidade de usuarios e concorrencia. Imagino que estou fazendo errado. Nao sei muito de banco de dados mas acho que existe outra forma de se obter um ID (chave primaria unica gerada por sequence(oracle) ou auto_increment(mysql)) sem ser da forma insert-select. alguem tem alguma sugestao para casos deste tipo. obrigado pela atencao. -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usurios Jav
Re: [java-list] como obter chave primaria em paginas jsp ??
Se o sua preocupacao eh a concorrencia e performance, sem duvida alguma a melhor e mais correta abordagem eh fazer todo o procedimento de insercao do registro via stored procedure, voce pode fazer fazer uma sp que pegue o codigo a ser inserido de uma sequence, inserir o registro com o codigo correto e retorna-lo para a aplicacao, por ex como um parametro de saida (output parameter) Dessa forma, voce faz apenas uma requisicao ao banco, nao corre o risco de ter chaves duplicadas e ainda nao precisa fazer uma query em sua tabela soh pra pegar o codigo, oque gera um processamento desnecessario. []´s - Joao Pedro #183816 Linux Registered User boa tarde javaneses, fiz um sistema de inscricao via web onde o usuario recebe o numero de inscricao via e-mail. mas acho que a forma que eu faco isto nao eh muito profissional : 1- apos pegar e validar os valores vindos de um formulario de inscricao, eu executo um 'insert'. 2 depois disso eu dou um ´select id_usuario from usuarios where nome = formNome and cpf = fromCPF. (obs:formNome e formCPF sao valores vindos do formulario.) 3- verifico o ResultSet.next() e se for verdadeiro eu pego o id_usuario atraves de um getXXX("id_usuario"). 4 - de posse do id_usuario em maos , eu formato minha mensagem e envio o email. Acho que esta forma de programacao nao cai bem em sistemas com grande quantidade de usuarios e concorrencia. Imagino que estou fazendo errado. Nao sei muito de banco de dados mas acho que existe outra forma de se obter um ID (chave primaria unica gerada por sequence(oracle) ou auto_increment(mysql)) sem ser da forma insert-select. alguem tem alguma sugestao para casos deste tipo. obrigado pela atencao. -- 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] -
Re: [java-list] como obter chave primaria em paginas jsp ??
Ah, esqueci de dizer tambem, que ja que vc tem uma carga tao grande, uma otima ideia eh implementar um pool de conexoes com o banco de dados, de forma que as conexoes ja fiquem abertas e esperando para executar queries Em java isso eh muito facil e fica perfeito.. Voce pode criar uma classe que contenha e gerencie, por exemplo um vetor de objetos java.sql.Connection e os disponibilize quando forem necessarios... Assim que a conexao nao for mais necessaria: o bean, o jsp, a aplicacao devolve a conexao ao pool... Assim vc diminui substancialmente o overhead de procedimento de abertura de novas conexoes toda vez que precisar acessar o banco... []´s - Joao Pedro #183816 Linux Registered User boa tarde!!! no meu caso, a terceira opcao jah foi desenvolvida. O numero de inscricao sera enviado atraves de email ( isto eu jah desenvolvi ) apos a confirmacao de pagamento do usuario mas de inicio, o usuario recebe um numero de acompanhamento, e este deve ser feito atraves da opcao 1. Como expliquei antes, na pagina de resposta (apos o preenchimento do form) jah deve constar este numero. um amigo da lista , Jorge Martins [EMAIL PROTECTED], deu a ideia de se fazer uma storage procedure no db. Eu achei interessante, mas acho q com isso eu soh estaria colocando o meu (insert/select) no StProc. (Sou muito leigo neste aspecto. Sorry if im made a mistake (que ingles ugly!). Eu estou preocupado mesmo eh com a tal da concorrencia, nao no decorrer do periodo de inscricoes mas sim no ultimo dia de inscricao ! aih o bicho pega ! Mil e poucos threads concorrendo a CPU ! (serah q estou muito preocupado com a "concorrencia" ou devo pensar desta forma ?) . o0 bom, neste momento verifiquei mais emails com outras solucoes vou tentar aplicar a melhor ( ou a que eu der conta :) ) obrigado a todos pelas ajudas. -- 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] -
Re: [java-list] como obter chave primaria em paginas jsp ??
use um "syncronized" no metodo que pega a ultima chave e que insere no banco, resolve esse problema, so roda um por vez, se for um so servidor Artur Almgren Saldanha -Original Message- From: jspdeveloper [EMAIL PROTECTED] To: [EMAIL PROTECTED] [EMAIL PROTECTED] Date: Sexta-feira, 23 de Fevereiro de 2001 15:37 Subject: Re: [java-list] como obter chave primaria em paginas jsp ?? boa tarde!!! no meu caso, a terceira opcao jah foi desenvolvida. O numero de inscricao sera enviado atraves de email ( isto eu jah desenvolvi ) apos a confirmacao de pagamento do usuario mas de inicio, o usuario recebe um numero de acompanhamento, e este deve ser feito atraves da opcao 1. Como expliquei antes, na pagina de resposta (apos o preenchimento do form) jah deve constar este numero. um amigo da lista , Jorge Martins [EMAIL PROTECTED], deu a ideia de se fazer uma storage procedure no db. Eu achei interessante, mas acho q com isso eu soh estaria colocando o meu (insert/select) no StProc. (Sou muito leigo neste aspecto. Sorry if im made a mistake (que ingles ugly!). Eu estou preocupado mesmo eh com a tal da concorrencia, nao no decorrer do periodo de inscricoes mas sim no ultimo dia de inscricao ! aih o bicho pega ! Mil e poucos threads concorrendo a CPU ! (serah q estou muito preocupado com a "concorrencia" ou devo pensar desta forma ?) . o0 bom, neste momento verifiquei mais emails com outras solucoes vou tentar aplicar a melhor ( ou a que eu der conta :) ) obrigado a todos pelas ajudas. - Original Message - From: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Friday, February 23, 2001 11:47 AM Subject: Re: [java-list] como obter chave primaria em paginas jsp ?? Bom dia ! Existem alguns fatores a se considerar num projeto de inscrio on-line: 1) A resposta deve ser on-line( o que vc desenvolveu ) 2) A resposta pode ter um periodo( a cada 15 minutos ) 3) A resposta pode ter um periodo( a cada 15 minutos ) mas somente envias as que algum administrador autorizou. No mnimo estas trs situaes existem hoje no Mercado, vale agora saber a que seu cliente melhor se adapta. com certeza a terceira com parametros de configurao para atender as outras duas o ideal. Grato, Luis :. "jspdeveloper" [EMAIL PROTECTED] em 22/02/2001 14:59:50 Favor responder a [EMAIL PROTECTED] Para:[EMAIL PROTECTED] cc: (bcc: Luis Alexandre Bortoletti/SENAC) Assunto: [java-list] como obter chave primaria em paginas jsp ?? boa tarde javaneses, fiz um sistema de inscricao via web onde o usuario recebe o numero de inscricao via e-mail. mas acho que a forma que eu faco isto nao eh muito profissional : 1- apos pegar e validar os valores vindos de um formulario de inscricao, eu executo um 'insert'. 2 depois disso eu dou um select id_usuario from usuarios where nome = formNome and cpf = fromCPF. (obs:formNome e formCPF sao valores vindos do formulario.) 3- verifico o ResultSet.next() e se for verdadeiro eu pego o id_usuario atraves de um getXXX("id_usuario"). 4 - de posse do id_usuario em maos , eu formato minha mensagem e envio o email. Acho que esta forma de programacao nao cai bem em sistemas com grande quantidade de usuarios e concorrencia. Imagino que estou fazendo errado. Nao sei muito de banco de dados mas acho que existe outra forma de se obter um ID (chave primaria unica gerada por sequence(oracle) ou auto_increment(mysql)) sem ser da forma insert-select. alguem tem alguma sugestao para casos deste tipo. obrigado pela atencao. -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usurios Java da Sucesu-SP dvidas 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 Usurios Java da Sucesu-SP dvidas 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 Usurios Java da Sucesu-SP dvidas 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 Usurios Java da Sucesu-SP dvidas mais comuns: http://www.souj
Re: [java-list] como obter chave primaria em paginas jsp ??
Quase boa noite , Pessoal valeu pela atencion! Quanto ao pool de conexoes sempre utilizo o pool do webApp Resin (www.caucho.com.br). No arquivo de configuracoes dele, resin.conf, eu abro 20 conexoes (default). Entao configuro meu escopo de sessao para as paginas como scope=session, e entao a conexao eh liberada. beleza, entao tah decidido : vou implementar uma storage procedure ps: Estou confiando no resin para armazenar meus pools, mas estou querendo aproveitar o pool do resin e extender sua funcionalidade para um java bean. se alguem ja tiver feito isso da um helpa! valeu ! - Original Message - From: "Joao Pedro M. F. Monoo" [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Friday, February 23, 2001 3:58 PM Subject: Re: [java-list] como obter chave primaria em paginas jsp ?? Ah, esqueci de dizer tambem, que ja que vc tem uma carga tao grande, uma otima ideia eh implementar um pool de conexoes com o banco de dados, de forma que as conexoes ja fiquem abertas e esperando para executar queries Em java isso eh muito facil e fica perfeito.. Voce pode criar uma classe que contenha e gerencie, por exemplo um vetor de objetos java.sql.Connection e os disponibilize quando forem necessarios... Assim que a conexao nao for mais necessaria: o bean, o jsp, a aplicacao devolve a conexao ao pool... Assim vc diminui substancialmente o overhead de procedimento de abertura de novas conexoes toda vez que precisar acessar o banco... []s - Joao Pedro #183816 Linux Registered User boa tarde!!! no meu caso, a terceira opcao jah foi desenvolvida. O numero de inscricao sera enviado atraves de email ( isto eu jah desenvolvi ) apos a confirmacao de pagamento do usuario mas de inicio, o usuario recebe um numero de acompanhamento, e este deve ser feito atraves da opcao 1. Como expliquei antes, na pagina de resposta (apos o preenchimento do form) jah deve constar este numero. um amigo da lista , Jorge Martins [EMAIL PROTECTED], deu a ideia de se fazer uma storage procedure no db. Eu achei interessante, mas acho q com isso eu soh estaria colocando o meu (insert/select) no StProc. (Sou muito leigo neste aspecto. Sorry if im made a mistake (que ingles ugly!). Eu estou preocupado mesmo eh com a tal da concorrencia, nao no decorrer do periodo de inscricoes mas sim no ultimo dia de inscricao ! aih o bicho pega ! Mil e poucos threads concorrendo a CPU ! (serah q estou muito preocupado com a "concorrencia" ou devo pensar desta forma ?) . o0 bom, neste momento verifiquei mais emails com outras solucoes vou tentar aplicar a melhor ( ou a que eu der conta :) ) obrigado a todos pelas ajudas. -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usurios Java da Sucesu-SP dvidas 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 Usurios Java da Sucesu-SP dvidas 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] -
Re: [java-list] como obter chave primaria em paginas jsp ??
Mesclar data com hora pode gerar uma chave primria de primeira. No seu cdigo vc pode criar uma chave como o seguinte formato: mmddhhmmssxxx onde xxx um nmero aleatrio. Vc insere esse valor no banco de dados e depois mostra para o usurio. Assim no precisar acessar o banco de dados em busca da chave primria. Simples. Original Message Follows From: "Joao Pedro M. F. Monoo" [EMAIL PROTECTED] Reply-To: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Subject: Re: [java-list] como obter chave primaria em paginas jsp ?? Date: Fri, 23 Feb 2001 15:51:34 -0300 Se o sua preocupacao eh a concorrencia e performance, sem duvida alguma a melhor e mais correta abordagem eh fazer todo o procedimento de insercao do registro via stored procedure, voce pode fazer fazer uma sp que pegue o codigo a ser inserido de uma sequence, inserir o registro com o codigo correto e retorna-lo para a aplicacao, por ex como um parametro de saida (output parameter) Dessa forma, voce faz apenas uma requisicao ao banco, nao corre o risco de ter chaves duplicadas e ainda nao precisa fazer uma query em sua tabela soh pra pegar o codigo, oque gera um processamento desnecessario. []s - Joao Pedro #183816 Linux Registered User boa tarde javaneses, fiz um sistema de inscricao via web onde o usuario recebe o numero de inscricao via e-mail. mas acho que a forma que eu faco isto nao eh muito profissional : 1- apos pegar e validar os valores vindos de um formulario de inscricao, eu executo um 'insert'. 2 depois disso eu dou um select id_usuario from usuarios where nome = formNome and cpf = fromCPF. (obs:formNome e formCPF sao valores vindos do formulario.) 3- verifico o ResultSet.next() e se for verdadeiro eu pego o id_usuario atraves de um getXXX("id_usuario"). 4 - de posse do id_usuario em maos , eu formato minha mensagem e envio o email. Acho que esta forma de programacao nao cai bem em sistemas com grande quantidade de usuarios e concorrencia. Imagino que estou fazendo errado. Nao sei muito de banco de dados mas acho que existe outra forma de se obter um ID (chave primaria unica gerada por sequence(oracle) ou auto_increment(mysql)) sem ser da forma insert-select. alguem tem alguma sugestao para casos deste tipo. obrigado pela atencao. -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usurios Java da Sucesu-SP dvidas 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] - _ Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com. -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usurios Java da Sucesu-SP dvidas 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] -
[java-list] como obter chave primaria em paginas jsp ??
boa tarde javaneses, fiz um sistema de inscricao via web onde o usuario recebe o numero de inscricao via e-mail. mas acho que a forma que eu faco isto nao eh muito profissional : 1- apos pegar e validar os valores vindos de um formulario de inscricao, eu executo um 'insert'. 2 depois disso eu dou um select id_usuario from usuarios where nome = formNome and cpf = fromCPF. (obs:formNome e formCPF sao valores vindos do formulario.) 3- verifico o ResultSet.next() e se for verdadeiro eu pego o id_usuario atraves de um getXXX("id_usuario"). 4 - de posse do id_usuario em maos , eu formato minha mensagem e envio o email. Acho que esta forma de programacao nao cai bem em sistemas com grande quantidade de usuarios e concorrencia. Imagino que estou fazendo errado. Nao sei muito de banco de dados mas acho que existe outra forma de se obter um ID (chave primaria unica gerada por sequence(oracle) ou auto_increment(mysql)) sem ser da forma insert-select. alguem tem alguma sugestao para casos deste tipo. obrigado pela atencao. -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usurios Java da Sucesu-SP dvidas 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] -
Re: [java-list] como obter chave primaria em paginas jsp ??
no mysql-2.0.4 tem esta funcionalidade que nunca usei mas vi, Using MySQL specific functionality MySQL has some features that cannot be accessed from the methods provided in the standard JDBC API. To access them, you need to cast the Statement or PreparedStatement object you are using to org.gjt.mm.mysql.Statement or org.gjt.mm.mysql.PreparedStatement respectively. From either of these classes you can call the methods getLastInsertID() to get the value created for any AUTO_INCREMENT field, and getLongUpdateCount() to get the larger update count that MySQL can produce as a long. deve existir algo semelhante no thin oracle Artur Almgren Saldanha -Original Message- From: jspdeveloper [EMAIL PROTECTED] To: [EMAIL PROTECTED] [EMAIL PROTECTED] Date: Quinta-feira, 22 de Fevereiro de 2001 17:01 Subject: [java-list] como obter chave primaria em paginas jsp ?? boa tarde javaneses, fiz um sistema de inscricao via web onde o usuario recebe o numero de inscricao via e-mail. mas acho que a forma que eu faco isto nao eh muito profissional : 1- apos pegar e validar os valores vindos de um formulario de inscricao, eu executo um 'insert'. 2 depois disso eu dou um select id_usuario from usuarios where nome = formNome and cpf = fromCPF. (obs:formNome e formCPF sao valores vindos do formulario.) 3- verifico o ResultSet.next() e se for verdadeiro eu pego o id_usuario atraves de um getXXX("id_usuario"). 4 - de posse do id_usuario em maos , eu formato minha mensagem e envio o email. Acho que esta forma de programacao nao cai bem em sistemas com grande quantidade de usuarios e concorrencia. Imagino que estou fazendo errado. Nao sei muito de banco de dados mas acho que existe outra forma de se obter um ID (chave primaria unica gerada por sequence(oracle) ou auto_increment(mysql)) sem ser da forma insert-select. alguem tem alguma sugestao para casos deste tipo. obrigado pela atencao. -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usurios Java da Sucesu-SP dvidas 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 Usurios Java da Sucesu-SP dvidas 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] -
RE: [java-list] como obter chave primaria em paginas jsp ??
Faa uma storedProcedure que faa isso e retorne o identificador do novo usurio. Caso no possa cadastrar o usurio, este procedimento envia uma mensagem de erro. Isso resolve bem o problema e permite voc criar uma transao para este procedimento. -Original Message- From: jspdeveloper [mailto:[EMAIL PROTECTED]] Sent: quinta-feira, 22 de fevereiro de 2001 15:00 To: [EMAIL PROTECTED] Subject: [java-list] como obter chave primaria em paginas jsp ?? boa tarde javaneses, fiz um sistema de inscricao via web onde o usuario recebe o numero de inscricao via e-mail. mas acho que a forma que eu faco isto nao eh muito profissional : 1- apos pegar e validar os valores vindos de um formulario de inscricao, eu executo um 'insert'. 2 depois disso eu dou um select id_usuario from usuarios where nome = formNome and cpf = fromCPF. (obs:formNome e formCPF sao valores vindos do formulario.) 3- verifico o ResultSet.next() e se for verdadeiro eu pego o id_usuario atraves de um getXXX("id_usuario"). 4 - de posse do id_usuario em maos , eu formato minha mensagem e envio o email. Acho que esta forma de programacao nao cai bem em sistemas com grande quantidade de usuarios e concorrencia. Imagino que estou fazendo errado. Nao sei muito de banco de dados mas acho que existe outra forma de se obter um ID (chave primaria unica gerada por sequence(oracle) ou auto_increment(mysql)) sem ser da forma insert-select. alguem tem alguma sugestao para casos deste tipo. obrigado pela atencao. -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usurios Java da Sucesu-SP dvidas 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 Usurios Java da Sucesu-SP dvidas 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] -