SQL API Java
De Aulas
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}