Sou iniciante em Java, estou estudando a algum tempo pelas apostilas do Caelum e agora pelo Deitel e já me sinto confortável para criar telas, classes, utilizar swing, etc.
No entanto todos os exemplos que trabalhei foram baseados nos livros e não consigo visualizar quais os passos básicos para criação de uma aplicação, seja ela desktop ou web.
Explicando melhor: alguem consegue me passar um exemplo básico de cadastro, utilizando uma tabela de um banco como o MySql, por exemplo ?
Quer dizer, uma aplicação, com um menu e uma tela onde se possa consultar, alterar, inserir e alterar dados ?
Li alguns tópicos aqui sobre utilização de Hibernate, mas acho que vou deixar isso pra depois, posso fazer uma aplicação que utiliza banco de dados funcionar sem ele, utilizando SQL mesmo ?
Qual o grande problema, além de poluir o código Java com código SQL dentro das classes, em continuar utilizando SQL ?
Para desktop e web.
O que acho que estou em dúvida é onde colocar cada coisa. Será que consegui explicar ?
Pra web, também não consegui entender como criar as páginas que o usuário irá acessar, onde colocar a conexão com o banco ?
Nossa quanta pergunta, vou tentar te ajudar em algumas… kkkk
[quote] Explicando melhor: alguem consegue me passar um exemplo básico de cadastro, utilizando uma tabela de um banco como o MySql, por exemplo ?
Quer dizer, uma aplicação, com um menu e uma tela onde se possa consultar, alterar, inserir e alterar dados ? [/quote]
Se vc ja criou as classes com Swing, é só adicionar a chamada delas a um JMenuItem, tem no link acima…
Para Mysql vc precisa ter o driver do seu SGDB, tem muitas perguntas sobre isso aqui no GUJ, use a BUSCA…
[quote] Li alguns tópicos aqui sobre utilização de Hibernate, mas acho que vou deixar isso pra depois, posso fazer uma aplicação que utiliza banco de dados funcionar sem ele, utilizando SQL mesmo ?
Qual o grande problema, além de poluir o código Java com código SQL dentro das classes, em continuar utilizando SQL ? [/quote]
Caso vc precise mudar as querys vc tera q altera-las individualmente em cada classe…
Voce tem um exemplo ou uma descrição de como tudo deve ficar organizado ?
Por exemplo:
Classe MenuPrincipal que servirá como tela principal do aplicativo
Composta por:
->classe JMenu
->classe JItemMenu que irá chamar a classe Cadastro
Classe Cadastro que servirá de interface com o usuario
Composta por:
-> uma classe que “desenhe” realmente a interface (com os JLabels, JTextFields, JButtons, etc)
-> uma classe Conection que irá realizar a conexão com o banco
-> diversas classes do tipo AtualizarDados, BuscarDados, InserirRegistro e Deletar registro, que serão chamadas pela classe cadastro…
Talvez eu esteja falando um monte de besteiras, porque venho de uma linguagem considerada procedural, VB com banco de dados Oracle… alguém pode me ajudar ?
vc desenhava as telas em VB agora vc tem que criar classes, nessas classes vai ter a telas que vc vai desenhar sem a facilidade do VB e sua outras Funcionalidades!.
Sobre os codios sql que poluem o codigo tem uma saida bem elegante com relação a isso. Você pode criar uma classe contendo os sql’s e apenas invocando abaixo tem um exemplo da classe
package com.ead.dao.objetos.setor;
public interface OracleSetorMetaDados {
/**
* string com o nome da tabela usada no banco
*/
public static final String TABLE = "SETOR";
/**
* vetor de string com as chaves da tabela
*/
public static final String[] PK = { "SETOR_ID" };
/**
* string com os campos para serem utilizados com insert
*/
public static String METADADOSINSERT = "SETOR_ID, NOME";
/**
* Retorna uma string com os campos para serem utilizados com select
*/
public static String METADADOSSELECT = ""+TABLE+".SETOR_ID, "+TABLE+".NOME";
}
e na classe principal eu costumo fazer assim
public List getSetorById(Setor set)
throws SQLException {
return select("select "+METADADOSSELECT+" from "+TABLE+" where "+PK[0]+" = '"
+ prepara(set.getSetorId()) + "'");
}
A minha dúvida começa por ai mesmo.
Então eu devo ter uma classe que faria toda a parte de interface gráfica do usuário e outra onde colocaria as funcionalidades ?
Vamos supor um exemplo básico: Uma tela para cadastro de cliente onde o CPF fosse a chave.
Eu teria uma tela com dois campos, CPF e NOME, e botões, NOVO, SALVAR, EXCLUIR, isso tudo numa classe.
Depois teria outras classes que seriam chamadas por essa onde, por exemplo:
-Eu verificaria se o CPF é válido.
-Verificaria se ele já existe no BD.
-Daria o comando INSERT ou UPDATE.
É isso ?
fabiel:
Acho que entendi sua alternativa, mas fiquei com duas dúvidas:
-O método getSetorById ficaria em qual classe ?
-Se eu entendi METADADOSSELECT, por exemplo, é uma variavel de classe, sendo assim vc deveria estar usando OracleSetorMetaDados.METADADOSSELECT, certo ?
truck1n:
A minha dúvida começa por ai mesmo.
Então eu devo ter uma classe que faria toda a parte de interface gráfica do usuário e outra onde colocaria as funcionalidades ?
Vamos supor um exemplo básico:
Uma tela para cadastro de cliente onde o CPF fosse a chave.
Eu teria uma tela com dois campos, CPF e NOME, e botões, NOVO, SALVAR, EXCLUIR, isso tudo numa classe.
Depois teria outras classes que seriam chamadas por essa onde, por exemplo:
-Eu verificaria se o CPF é válido.
-Verificaria se ele já existe no BD.
-Daria o comando INSERT ou UPDATE.
É isso ?
fabiel:
Acho que entendi sua alternativa, mas fiquei com duas dúvidas:
-O método getSetorById ficaria em qual classe ?
-Se eu entendi METADADOSSELECT, por exemplo, é uma variavel de classe, sendo assim vc deveria estar usando OracleSetorMetaDados.METADADOSSELECT, certo ?
A minha dúvida começa por ai mesmo.
Então eu devo ter uma classe que faria toda a parte de interface gráfica do usuário e outra onde colocaria as funcionalidades ?
Vamos supor um exemplo básico:
Uma tela para cadastro de cliente onde o CPF fosse a chave.
Eu teria uma tela com dois campos, CPF e NOME, e botões, NOVO, SALVAR, EXCLUIR, isso tudo numa classe.
Depois teria outras classes que seriam chamadas por essa onde, por exemplo:
-Eu verificaria se o CPF é válido.
-Verificaria se ele já existe no BD.
-Daria o comando INSERT ou UPDATE.
É isso ?
fabiel:
Acho que entendi sua alternativa, mas fiquei com duas dúvidas:
-O método getSetorById ficaria em qual classe ?
-Se eu entendi METADADOSSELECT, por exemplo, é uma variavel de classe, sendo assim vc deveria estar usando OracleSetorMetaDados.METADADOSSELECT, certo ?