1
1
package com .example ;
2
2
3
3
import java .sql .Statement ;
4
+ import java .sql .Connection ;
4
5
import java .sql .DriverManager ;
5
6
import java .sql .SQLException ;
6
7
7
8
public class AppBd {
9
+ private static final String PASSWORD = "" ;
10
+ private static final String USERNAME = "gitpod" ;
11
+ private static final String JDBC_URL = "jdbc:postgresql://localhost/postgres" ;
12
+ private Connection conn ;
13
+
8
14
public static void main (String [] args ) {
15
+ new AppBd ();
16
+ }
17
+
18
+ public AppBd () {
19
+ try (var conn = getConnection ()) {
20
+ // carregarDriverJDBC(); não é necessário
21
+ listarEstados (conn );
22
+ localizarEstado (conn , "CE" );
23
+ } catch (SQLException e ) {
24
+ System .err .println ("Não foi possível conectar ao banco de dados: " + e .getMessage ());
25
+ }
26
+ }
27
+ private void localizarEstado (Connection conn , String uf ) {
9
28
try {
10
- // Carrega a classe do driver JDBC para PostgreSQL
11
- Class .forName ("org.postgresql.Driver" );
12
- } catch (ClassNotFoundException e ) {
13
- // Trata o caso em que a classe do driver não pôde ser encontrada
14
- System .err .println ("Não foi possível carregar a biblioteca para acesso ao banco de dados: " + e .getMessage ());
15
- }
29
+ // var sql = "select * from estado where uf = '" + uf + "'"; // suscetível a sql injection
30
+ var sql = "select * from estado where uf = ?" ;
31
+ var statement = conn .prepareStatement (sql );
32
+ statement .setString (1 , uf );
33
+ System .out .println (sql );
34
+ var result = statement .executeQuery ();
35
+ if (result .next ()) {
36
+ System .out .printf ("Id: %d Nome: %s UF: %s \n " , result .getInt ("id" ), result .getString ("nome" ), result .getString ("uf" ));
37
+ }
38
+ } catch (SQLException e ) {
39
+ System .err .println ("Erro ao executar consulta SQL: " + e .getMessage ());
40
+ }
41
+
42
+ }
16
43
17
- Statement statement = null ;
18
- try ( var conn = DriverManager . getConnection ( "jdbc:postgresql://localhost/postgres" , "gitpod" , "" )) {
44
+ private void listarEstados ( Connection conn ) {
45
+ try {
19
46
System .out .println ("Conexão com o banco realizada com sucesso!" );
20
47
21
48
// Cria um objeto Statement para executar consultas SQL
22
- statement = conn .createStatement ();
49
+ var statement = conn .createStatement ();
23
50
24
51
// Executa uma consulta SQL e obtém o resultado
25
52
var result = statement .executeQuery ("select * from estado" );
@@ -28,13 +55,26 @@ public static void main(String[] args) {
28
55
while (result .next ()) {
29
56
System .out .printf ("Id: %d Nome: %s UF: %s \n " , result .getInt ("id" ), result .getString ("nome" ), result .getString ("uf" ));
30
57
}
58
+
59
+ System .out .println ();
31
60
} catch (SQLException e ) {
32
- // Trata os erros relacionados à conexão ou execução de consultas
33
- if (statement == null )
34
- System .err .println ("Não foi possível conectar ao banco de dados: " + e .getMessage ());
35
- else
36
- System .err .println ("Não foi possível executar a consulta ao banco de dados: " + e .getMessage ());
61
+ System .err .println ("Não foi possível executar a consulta ao banco: " + e .getMessage ());
37
62
}
38
63
}
64
+
65
+ private Connection getConnection () throws SQLException {
66
+ return DriverManager .getConnection (JDBC_URL , USERNAME , PASSWORD );
67
+ }
68
+
69
+ // private void carregarDriverJDBC() {
70
+ // try {
71
+ // Carrega a classe do driver JDBC para PostgreSQL
72
+ // Class.forName("org.postgresql.Driver");
73
+ // } catch (ClassNotFoundException e) {
74
+ // Trata o caso em que a classe do driver não pôde ser encontrada
75
+ // System.err.println("Não foi possível carregar a biblioteca para acesso ao banco de dados: " + e.getMessage());
76
+ // }
77
+ // }
39
78
}
40
79
80
+
0 commit comments