From 4dce1eac146b26a6a33bac6e59627c4d9b661780 Mon Sep 17 00:00:00 2001 From: GuilhermeWerner <26710260+GuilhermeWerner@users.noreply.github.com> Date: Sun, 5 Sep 2021 09:07:07 -0300 Subject: [PATCH] Create eclipse project --- .classpath | 44 +++++++ .project | 34 ++++++ pom.xml | 15 +++ src/main/java/com/ti2cc/DAO.java | 158 +++++++++++++++++++++++++ src/main/java/com/ti2cc/Principal.java | 82 +++++++++++++ src/main/java/com/ti2cc/Usuario.java | 59 +++++++++ 6 files changed, 392 insertions(+) create mode 100644 .classpath create mode 100644 .project create mode 100644 pom.xml create mode 100644 src/main/java/com/ti2cc/DAO.java create mode 100644 src/main/java/com/ti2cc/Principal.java create mode 100644 src/main/java/com/ti2cc/Usuario.java diff --git a/.classpath b/.classpath new file mode 100644 index 0000000..b445007 --- /dev/null +++ b/.classpath @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.project b/.project new file mode 100644 index 0000000..53da449 --- /dev/null +++ b/.project @@ -0,0 +1,34 @@ + + + 01ConexaoPostgres + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.m2e.core.maven2Builder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.m2e.core.maven2Nature + + + + 1630783759058 + + 30 + + org.eclipse.core.resources.regexFilterMatcher + node_modules|.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__ + + + + diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..5563289 --- /dev/null +++ b/pom.xml @@ -0,0 +1,15 @@ + + 4.0.0 + com.ti2cc + 01ConexaoPostgres + 0.0.1-SNAPSHOT + + + org.postgresql + postgresql + 42.2.16 + + + diff --git a/src/main/java/com/ti2cc/DAO.java b/src/main/java/com/ti2cc/DAO.java new file mode 100644 index 0000000..9487db0 --- /dev/null +++ b/src/main/java/com/ti2cc/DAO.java @@ -0,0 +1,158 @@ +package com.ti2cc; + +import java.sql.*; + +public class DAO { + private Connection conexao; + + public DAO() { + conexao = null; + } + + public boolean conectar() { + String driverName = "org.postgresql.Driver"; + + String server = "localhost"; + int porta = 5432; + + String username = "postgres"; + String password = "1234"; + + String mydatabase = "postgres"; + + boolean status = false; + + String url = "jdbc:postgresql://" + server + ":" + porta + "/" + mydatabase; + + try { + Class.forName(driverName); + conexao = DriverManager.getConnection(url, username, password); + status = (conexao == null); + System.out.println("Conexão efetuada com o postgres!"); + } catch (ClassNotFoundException e) { + System.err.println("Conexão NÃO efetuada com o postgres -- Driver não encontrado -- " + e.getMessage()); + } catch (SQLException e) { + System.err.println("Conexão NÃO efetuada com o postgres -- " + e.getMessage()); + } + + return status; + } + + public boolean close() { + boolean status = false; + + try { + conexao.close(); + status = true; + } catch (SQLException e) { + System.err.println(e.getMessage()); + } + return status; + } + + public boolean inserirUsuario(Usuario usuario) { + boolean status = false; + try { + Statement st = conexao.createStatement(); + st.executeUpdate("INSERT INTO usuario (codigo, login, senha, sexo) " + "VALUES (" + usuario.getCodigo() + + ", '" + usuario.getLogin() + "', '" + usuario.getSenha() + "', '" + usuario.getSexo() + "');"); + st.close(); + status = true; + } catch (SQLException u) { + throw new RuntimeException(u); + } + return status; + } + + public boolean atualizarUsuario(Usuario usuario) { + boolean status = false; + try { + Statement st = conexao.createStatement(); + String sql = "UPDATE usuario SET login = '" + usuario.getLogin() + "', senha = '" + usuario.getSenha() + + "', sexo = '" + usuario.getSexo() + "'" + " WHERE codigo = " + usuario.getCodigo(); + st.executeUpdate(sql); + st.close(); + status = true; + } catch (SQLException u) { + throw new RuntimeException(u); + } + return status; + } + + public boolean excluirUsuario(int codigo) { + boolean status = false; + try { + Statement st = conexao.createStatement(); + st.executeUpdate("DELETE FROM usuario WHERE codigo = " + codigo); + st.close(); + status = true; + } catch (SQLException u) { + throw new RuntimeException(u); + } + return status; + } + + public Usuario[] getUsuarios() { + Usuario[] usuarios = null; + + try { + Statement st = conexao.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); + ResultSet rs = st.executeQuery("SELECT * FROM usuario"); + if (rs.next()) { + rs.last(); + usuarios = new Usuario[rs.getRow()]; + rs.beforeFirst(); + + for (int i = 0; rs.next(); i++) { + usuarios[i] = new Usuario(rs.getInt("codigo"), rs.getString("login"), rs.getString("senha"), + rs.getString("sexo").charAt(0)); + } + } + st.close(); + } catch (Exception e) { + System.err.println(e.getMessage()); + } + return usuarios; + } + + public Usuario getUsuario(int codigo) { + Usuario usuario = null; + + try { + Statement st = conexao.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); + ResultSet rs = st.executeQuery("SELECT * FROM usuario WHERE usuario.codigo = " + codigo); + if (rs.first()) { + usuario = new Usuario(rs.getInt("codigo"), rs.getString("login"), rs.getString("senha"), + rs.getString("sexo").charAt(0)); + } + st.close(); + } catch (SQLException u) { + throw new RuntimeException(u); + } + + return usuario; + } + + public Usuario[] getUsuariosMasculinos() { + Usuario[] usuarios = null; + + try { + Statement st = conexao.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); + ResultSet rs = st.executeQuery("SELECT * FROM usuario WHERE usuario.sexo LIKE 'M'"); + if (rs.next()) { + rs.last(); + usuarios = new Usuario[rs.getRow()]; + rs.beforeFirst(); + + for (int i = 0; rs.next(); i++) { + usuarios[i] = new Usuario(rs.getInt("codigo"), rs.getString("login"), rs.getString("senha"), + rs.getString("sexo").charAt(0)); + } + } + st.close(); + } catch (Exception e) { + System.err.println(e.getMessage()); + } + return usuarios; + } +} diff --git a/src/main/java/com/ti2cc/Principal.java b/src/main/java/com/ti2cc/Principal.java new file mode 100644 index 0000000..6e1e071 --- /dev/null +++ b/src/main/java/com/ti2cc/Principal.java @@ -0,0 +1,82 @@ +package com.ti2cc; + +import java.util.Scanner; + +public class Principal { + public static void main(String[] args) { + DAO dao = new DAO(); + dao.conectar(); + + Scanner scanner = new Scanner(System.in); + boolean quit = false; + + do { + System.out.println("[1] Listar"); + System.out.println("[2] Inserir"); + System.out.println("[3] Excluir"); + System.out.println("[4] Atualizar"); + System.out.println(); + System.out.println("[0] Sair"); + + int option = scanner.nextInt(); + + if (option == 1) { // Listar + Usuario[] usuarios = dao.getUsuarios(); + + for (int i = 0; i < usuarios.length; i++) { + System.out.println(usuarios[i].toString()); + } + } else if (option == 2) { // Inserir + System.out.print("Informe o código do usuário: "); + int codigo = scanner.nextInt(); + + System.out.print("Informe o login do usuário: "); + String login = scanner.next(); + + System.out.print("Informe a senha do usuário: "); + String senha = scanner.next(); + + System.out.print("Informe o sexo do usuário: "); + char sexo = scanner.next().charAt(0); + + Usuario usuario = new Usuario(codigo, login, senha, sexo); + + if (dao.inserirUsuario(usuario)) { + System.out.println("Usuário " + codigo + " inserido!"); + } + } else if (option == 3) { // Excluir + System.out.print("Informe o código do usuário: "); + int codigo = scanner.nextInt(); + + if (dao.excluirUsuario(codigo)) { + System.out.println("Usuário " + codigo + " excluído!"); + } + } else if (option == 4) { // Atualizar + System.out.print("Informe o código do usuário: "); + int codigo = scanner.nextInt(); + + Usuario usuario = dao.getUsuario(codigo); + + System.out.print("Informe o login do usuário: "); + usuario.setLogin(scanner.next()); + + System.out.print("Informe a senha do usuário: "); + usuario.setSenha(scanner.next()); + + System.out.print("Informe o sexo do usuário: "); + usuario.setSexo(scanner.next().charAt(0)); + + if (dao.atualizarUsuario(usuario)) { + System.out.println("Usuário " + codigo + " atualizado!"); + } + } else if (option == 0) { // Sair + quit = true; + } else { + System.out.println("Opção inválida!"); + } + } while (!quit); + + scanner.close(); + dao.close(); + } +} diff --git a/src/main/java/com/ti2cc/Usuario.java b/src/main/java/com/ti2cc/Usuario.java new file mode 100644 index 0000000..ce50485 --- /dev/null +++ b/src/main/java/com/ti2cc/Usuario.java @@ -0,0 +1,59 @@ +package com.ti2cc; + +public class Usuario { + private int codigo; + private String login; + private String senha; + private char sexo; + + public Usuario() { + this.codigo = -1; + this.login = ""; + this.senha = ""; + this.sexo = '*'; + } + + public Usuario(int codigo, String login, String senha, char sexo) { + this.codigo = codigo; + this.login = login; + this.senha = senha; + this.sexo = sexo; + } + + public int getCodigo() { + return codigo; + } + + public void setCodigo(int codigo) { + this.codigo = codigo; + } + + public String getLogin() { + return login; + } + + public void setLogin(String login) { + this.login = login; + } + + public String getSenha() { + return senha; + } + + public void setSenha(String senha) { + this.senha = senha; + } + + public char getSexo() { + return sexo; + } + + public void setSexo(char sexo) { + this.sexo = sexo; + } + + @Override + public String toString() { + return "Usuario { codigo: " + codigo + ", login: \"" + login + "\", senha: \"" + senha + "\", sexo: \"" + sexo + "\" }"; + } +}