Uma Query Simples em MySQL.  XML
Índice dos Fóruns » Persistência: Hibernate, JPA, JDBC e outros
Autor Mensagem
rsmoraes
JavaChild

Membro desde: 21/12/2011 15:55:12
Mensagens: 148
Offline

Boa tarde pessoal,

estou desenvolvendo uma aplicação em java, utilizando ServLet + JSP... E vi que em PHP(ruimd+) tem uma funçãozinha que é mysql_fetch_assoc, teria algo parecido em JAVA...

Muito obrigado.

This message was edited 1 time. Last update was at 31/01/2012 16:43:05


Java... Este é o mundo !
[Email] [MSN]
bob_sponja
JavaBaby

Membro desde: 03/05/2011 23:21:06
Mensagens: 88
Offline

Em java puro, usando JDBC, quando você faz uma consulta ao banco é retornado um objeto ResultSet. Ele possui métodos que você pega os valores das colunas do banco pelo nome, assim como a função mysql_fetch_assoc do PHP.

A diferença é que em Java vc deve dizer o tipo de dado que espera. Digamos que você tem duas colunas, uma do tipo INT e outra VARCHAR, para recuperá-las ficaria:


Sugiro estudar JDBC. Existem muitos tutoriais por aí...
rsmoraes
JavaChild

Membro desde: 21/12/2011 15:55:12
Mensagens: 148
Offline

bob_sponja wrote:Em java puro, usando JDBC, quando você faz uma consulta ao banco é retornado um objeto ResultSet. Ele possui métodos que você pega os valores das colunas do banco pelo nome, assim como a função mysql_fetch_assoc do PHP.

A diferença é que em Java vc deve dizer o tipo de dado que espera. Digamos que você tem duas colunas, uma do tipo INT e outra VARCHAR, para recuperá-las ficaria:


Sugiro estudar JDBC. Existem muitos tutoriais por aí...


O meu projeto todo está em JDBC... tenho umas 40 tabelas.. a minha dúvida é a seguinte:

Eu tenho um outro projeto aqui em PHP e um programdor da vida utilizou esta função na hora de uma consulta...



O problema é que eu não estou conseguindo trazer os dados associados... exemplo:

Dessa forma mais ou menos..:



Entendeu ?

Esta é a minha complicação, Muito obrigado.













Java... Este é o mundo !
[Email] [MSN]
drsmachado
GUJ Expert

Membro desde: 25/09/2010 12:54:06
Mensagens: 3986
Localização: Curitiba / São José dos Pinhais - PR
Offline

Utilizando jdbc, precisará montar a query com join para trazer os dados das tabelas associadas (se quiser fazer direito).
Dependendo de como você quer e que tipo de consulta precisará, poderá optar entre:
JOIN
INNER JOIN
RIGHT JOIN
LEFT JOIN
OUTER JOIN
LEFT OUTER JOIN
LEFT RIGHT JOIN
etc..

Algo mais ou menos assim

Onde ? é o argumento de pesquisa

Rumo aos 4000
"Os homens de verdade assumem suas responsabilidades e culpas. Esquivar-se e dar desculpas é atitude dos tolos, que preferem não se comprometer".

Lugar de perguntar é no fórum!
Não respondo via MP
Não respondo por Email
Não respondo por IM
rsmoraes
JavaChild

Membro desde: 21/12/2011 15:55:12
Mensagens: 148
Offline

drsmachado wrote:Utilizando jdbc, precisará montar a query com join para trazer os dados das tabelas associadas (se quiser fazer direito).
Dependendo de como você quer e que tipo de consulta precisará, poderá optar entre:
JOIN
INNER JOIN
RIGHT JOIN
LEFT JOIN
OUTER JOIN
LEFT OUTER JOIN
LEFT RIGHT JOIN
etc..

Algo mais ou menos assim

Onde ? é o argumento de pesquisa


Seria uma chave composta.. é uma única tabela.. entendeu ?

Quero que fique relacionado desta forma:




Java... Este é o mundo !
[Email] [MSN]
drsmachado
GUJ Expert

Membro desde: 25/09/2010 12:54:06
Mensagens: 3986
Localização: Curitiba / São José dos Pinhais - PR
Offline

Não.
Não ficou claro.

Rumo aos 4000
"Os homens de verdade assumem suas responsabilidades e culpas. Esquivar-se e dar desculpas é atitude dos tolos, que preferem não se comprometer".

Lugar de perguntar é no fórum!
Não respondo via MP
Não respondo por Email
Não respondo por IM
rsmoraes
JavaChild

Membro desde: 21/12/2011 15:55:12
Mensagens: 148
Offline

drsmachado wrote:Não.
Não ficou claro.


A minha banco está assim, inserindo... a tabela... :



Eu quero uma consulta onde os dados aparece na minha JSP relacionados...

desta forma aqui:



As bibliotecas:

ASSINF
Contabilidade
DAAD
DAF
DGAF
DIVDOC
DIVORÇ
DIVPAT
DRH
SubGestão
SUPEM


Elas tem um codPai 7, que é a biblioteca com o ID 7 (Procedimentos Operacionais e Administrativos)

As bibliocas relacionadas aparecem na frente da biblioteca PAI que é Procedimentos Operacionais e Administrativos.

Entendeu amigo ?


Muito obrigado amigo.

Java... Este é o mundo !
[Email] [MSN]
rsmoraes
JavaChild

Membro desde: 21/12/2011 15:55:12
Mensagens: 148
Offline

Esqueci de postar isso do meu banco:


^.~

Java... Este é o mundo !
[Email] [MSN]
dumontbass
What is classpath?
[Avatar]

Membro desde: 18/03/2011 15:22:41
Mensagens: 8
Offline

O que você quer fazer? A aplicação é pequena?? Se for compensa usar JSTL .
Se vai usar Servlet e JSP então falta ai umas classes de banco ou usar o Pattern ActiveRecord.

Se vc é do PHP (como eu sou) vc não deve simplismente migrar funções do PHP para Java, aqui o buraco é mais embaixo.

Em Java vc deve se organizar. Deve saber um pouco do básico antes por exemplo o que é um objeto ResultSet.

o ResultSet possui métodos para percorrer o resultado do banco.

Se não quer complicar e é iniciante use o JSTL que vai ficar assim;



De uma pesquisada qlqr dúvida poste aqui.
[Email] [MSN]
rsmoraes
JavaChild

Membro desde: 21/12/2011 15:55:12
Mensagens: 148
Offline

dumontbass wrote:O que você quer fazer? A aplicação é pequena?? Se for compensa usar JSTL .
Se vai usar Servlet e JSP então falta ai umas classes de banco ou usar o Pattern ActiveRecord.

Se vc é do PHP (como eu sou) vc não deve simplismente migrar funções do PHP para Java, aqui o buraco é mais embaixo.

Em Java vc deve se organizar. Deve saber um pouco do básico antes por exemplo o que é um objeto ResultSet.

o ResultSet possui métodos para percorrer o resultado do banco.

Se não quer complicar e é iniciante use o JSTL que vai ficar assim;



De uma pesquisada qlqr dúvida poste aqui.


meu amigo, o problema não é a JSP e sim a QUERY... um método no Java buscando os dados no banco... Como este aqui:




Só que desta forma não há relacionamento... o que eu quero é o relacionamento e mostrando desta forma na JSP:




Java... Este é o mundo !
[Email] [MSN]
eduJava
Debugger

Membro desde: 31/03/2011 17:35:13
Mensagens: 55
Offline

entao pra 'contabilidade' estar ali, teria que ser
(14, 'Contabilidade', 13),

e nao (14, 'Contabilidade', 7),

Se eu fosse fazer faria um select de toda essa tabela biblioteca e agruparia com hashmap pela chave.
Por select nao sei
falow
rsmoraes
JavaChild

Membro desde: 21/12/2011 15:55:12
Mensagens: 148
Offline

eduJava wrote:entao pra 'contabilidade' estar ali, teria que ser
(14, 'Contabilidade', 13),

e nao (14, 'Contabilidade', 7),

Se eu fosse fazer faria um select de toda essa tabela biblioteca e agruparia com hashmap pela chave.
Por select nao sei
falow


Teria algum exemplo de agrupamento de hashmap pela chave seu ai ?

Vou dando uma pesquisada aqui, nunca utilizei desta forma.

Obrigado.

Java... Este é o mundo !
[Email] [MSN]
eduJava
Debugger

Membro desde: 31/03/2011 17:35:13
Mensagens: 55
Offline

veja
vc pode criar um hashmap assim

hashmap<Integer,List<Integer>> hash = new hashmap<Integer,List<Integer>>();

veja vc vai ter um put com

chave 6 e o value : lista vazia
chave 7 e uma lista com 13,15,16,17,18,19,20,21,22,23
chave 8 e o value : lista vazia
chave 13 e uma lista com 14

depois vc itera tudo
vc terá q verificar dentro do seu for se ele ja nao existe no caso da chave 7, ela tem o 13 que é uma chave, entao vc só mostra aquele q tem lista vazia até começar o loop denovo, e fica nessa recursividade
to com preguiça de fazer um exemplo, tenho q jogar batlefield 3 agora auehueheuehe
rsmoraes
JavaChild

Membro desde: 21/12/2011 15:55:12
Mensagens: 148
Offline

eduJava wrote:veja
vc pode criar um hashmap assim

hashmap<Integer,List<Integer>> hash = new hashmap<Integer,List<Integer>>();

veja vc vai ter um put com

chave 6 e o value : lista vazia
chave 7 e uma lista com 13,15,16,17,18,19,20,21,22,23
chave 8 e o value : lista vazia
chave 13 e uma lista com 14

depois vc itera tudo
vc terá q verificar dentro do seu for se ele ja nao existe no caso da chave 7, ela tem o 13 que é uma chave, entao vc só mostra aquele q tem lista vazia até começar o loop denovo, e fica nessa recursividade
to com preguiça de fazer um exemplo, tenho q jogar batlefield 3 agora auehueheuehe


Interessante.. vou tentar fazer aqui agora...

Obrigado.

Java... Este é o mundo !
[Email] [MSN]
 
Índice dos Fóruns » Persistência: Hibernate, JPA, JDBC e outros
Ir para:   
Powered by JForum 2.1.8 © JForum Team