Ir ao conteúdo
  • Cadastre-se

Java Como separar as classes em um projeto Java com conexão JDBC


Posts recomendados

Preciso desenvolver um projeto Java que faça o seguinte:
Em uma classe tenha a função de conexão JDBC ao postgresql.
Em outra classe tenha o modelo da entidade.
Em outra classe tenha as funções do CRUD.
Eu consegui fazer isso porém só quando a inserção é com os dados digitados no código mas eu queria que
 fosse com a entrada de dados pelo usuário, usando a função Scanner.
 


Exemplo(código na mesma classe da conexao, inserindo com Scanner)
i

mport java.sql.*;

import java.util.Scanner;

public class TesteJDBC {

public static void main(String args[]){

// Instancia o Objeto Scanner

Scanner sc = new Scanner(System.in);

try{

// Driver que será usado

Class.forName("org.postgresql.Driver");

// URL usada para conexão com o SGBD e BD

String url = "jdbc:postgresql://127.0.0.1:5432/locadora";

// Parametros para conexão

Connection con = DriverManager.getConnection(url,"postgres","aluno");

// Obtendo um Prepared Statement para executar comandos

String comando = "Insert INTO filmes(cd_filme, ds_filme)VALUES(?,?)";

PreparedStatement pstm = con.prepareStatement(comando);

// Armazenando os campos em "?" em variáveis

System.out.print("Digite o Número de Identificação: ");

int id = sc.nextInt();

System.out.print("Digite o Codigo do Filme: ");

long codigo = sc.nextLong();

System.out.print("Digite o Nome do Filme : ");

String nome = sc.next();

System.out.print("Digite a Descrição do Filme(Sem Espaços): ");

String descricao = sc.next();

// Inserindo as variáveis no comando sql no lugar de ?

pstm.setInt(1,id);

pstm.setLong(1,codigo);

pstm.setString(2,nome);

pstm.setString(3, descricao);

// Executa o comando

pstm.executeUpdate();

// Fecha o PreparedStatement

pstm.close();

// Consultas

String sql = "SELECT * FROM filmes";

Statement stm = con.createStatement();

ResultSet res = stm.executeQuery(sql);

while(res.next()){

int id_filme = res.getInt("id");

long codigo_filme = res.getLong("cod_filme");

String nome_filme = res.getString("nm_filme");

String descricao_filme = res.getString("ds_filme");

System.out.println("Id do Filme: " + id_filme + " | Codigo do Filme: " + codigo_filme + " | Nome do Filme: " + nome_filme + " | Descrição do Filme: " + descricao_filme);

// Fim das consultas


// Fecha a conexão

con.close();

}

}catch(Exception ex){

ex.printStackTrace();

ex.getMessage();

}

}

}


Como faço para inserir com a função scanner numa classe separada da conexão? E uma consulta também em classe separada da conexão?
Fico na dúvida de como escrever o método quando é por scanner e como chamá-lo. E o projeto deve ser MVC e ter camada DAO.

Depois ainda preciso alterar a DAO para que todas chamadas do projeto utilizem o Hibernate.

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!