SQL API Java

De Aulas
Revisão de 23h53min de 26 de novembro de 2016 por Admin (discussão | contribs) (Substituição de texto - "<code>" por "<syntaxhighlight line>")
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)

Links relacionados: Banco de Dados

Base de Dados

 1create table funcionario (
 2	codigo serial,
 3	nome varchar(50),
 4	primary key (codigo)
 5);
 6
 7create table dependente (
 8	codigo serial,
 9	codigo_funcionario integer references funcionario,
10	nome varchar(50),
11	idade integer,
12	primary key (codigo)
13);

Alterar a Senha do Usuário

$ sudo -u postgres psql

# alter user postgres with encrypted password 'senha'

Driver

Utilizei para este exemplo o driver postgresql-9.3-1102.jdbc3.jar do site do PostgreSQL.

Inserir Informações

 1import java.sql.*;
 2import java.util.Scanner;
 3
 4public class InserirFuncionario {
 5	public static void main(String args[]) {
 6		Scanner entrada = new Scanner(System.in);
 7		System.out.print("Nome do funcionario a inserir: ");
 8		String nome = entrada.nextLine();
 9		try {
10			Class.forName("org.postgresql.Driver");
11			Connection con = DriverManager.getConnection(
12					"jdbc:postgresql://localhost/aula", "usuario", "****");
13			Statement stmt = con.createStatement();
14			String query = "insert into funcionario (nome) values ('" + nome
15					+ "')";
16			stmt.executeUpdate(query);
17			stmt.close();
18			con.close();
19
20		} catch (SQLException ex) {
21			System.err.println("SQLException: " + ex.getMessage());
22		} catch (java.lang.ClassNotFoundException e) {
23			System.err.println("ClassNotFoundException: " + e.getMessage());
24		}
25	}
26}

Listar Informações

 1import java.sql.*;
 2
 3public class ListarFuncionarios {
 4	public static void main(String args[]) {
 5		try {
 6			Class.forName("org.postgresql.Driver");
 7			Connection con = DriverManager.getConnection(
 8					"jdbc:postgresql://localhost/aula", "usuario", "****");
 9			Statement stmt = con.createStatement();
10			String query = "select * from funcionario";
11			ResultSet rs = stmt.executeQuery(query);
12			while (rs.next()) {
13				int codigo = rs.getInt("codigo");
14				String nome = rs.getString("nome");
15				System.out.println(codigo + " - " + nome);
16			}
17			stmt.close();
18			con.close();
19
20		} catch (SQLException ex) {
21			System.err.println("SQLException: " + ex.getMessage());
22		} catch (java.lang.ClassNotFoundException e) {
23			System.err.println("ClassNotFoundException: " + e.getMessage());
24		}
25	}
26}

Excluir Informações

 1import java.sql.*;
 2import java.util.Scanner;
 3
 4public class DeletarFuncionario {
 5	public static void main(String args[]) {
 6		Scanner entrada = new Scanner(System.in);
 7		System.out.print("Codigo do funcionario a deletar: ");
 8		String codigo = entrada.nextLine();
 9		try {
10			Class.forName("org.postgresql.Driver");
11			Connection con = DriverManager.getConnection(
12					"jdbc:postgresql://localhost/aula", "usuario", "****");
13			Statement stmt = con.createStatement();
14			String query = "delete from funcionario where codigo='" + codigo
15					+ "'";
16			stmt.executeUpdate(query);
17			stmt.close();
18			con.close();
19
20		} catch (SQLException ex) {
21			System.err.println("SQLException: " + ex.getMessage());
22		} catch (java.lang.ClassNotFoundException e) {
23			System.err.println("ClassNotFoundException: " + e.getMessage());
24		}
25	}
26}

Relacionamentos

 1import java.sql.*;
 2
 3public class ListarRelacionamento {
 4	public static void main(String args[]) {
 5		try {
 6			Class.forName("org.postgresql.Driver");
 7			Connection con = DriverManager.getConnection(
 8					"jdbc:postgresql://localhost/aula", "saulo", "1234");
 9			Statement stmt = con.createStatement();
10			String query =
11				"SELECT f.nome as nomef, d.nome as nomed, d.idade " +
12				"FROM funcionario f, dependente d " +
13				"WHERE f.codigo = d.codigo_funcionario";
14			
15	        ResultSet rs = stmt.executeQuery(query);
16	        while (rs.next()) {
17	        	String nomeFuncionario = rs.getString("nomef");
18	        	String nome = rs.getString("nomed");
19	            int idade = rs.getInt("idade");
20	        	System.out.println(nomeFuncionario + " - " + nome + " - " + idade);
21	        }
22			stmt.close();
23			con.close();
24	
25		} catch(SQLException ex) {
26			System.err.println("SQLException: " + ex.getMessage());
27		} catch(java.lang.ClassNotFoundException e) {
28			System.err.println("ClassNotFoundException: " + e.getMessage()); 
29		}
30	}	
31}