1
1
package com .example ;
2
2
3
- import java .sql .Connection ;
4
- import java .sql .DriverManager ;
5
3
import java .sql .SQLException ;
6
- //import java.sql.Statement;
7
-
8
4
import com .example .dao .ConnectionManager ;
5
+ import com .example .dao .DAO ;
6
+ import com .example .dao .EstadoDAO ;
7
+ import com .example .dao .ProdutoDAO ;
8
+ import com .example .model .Estado ;
9
9
import com .example .model .Marca ;
10
10
import com .example .model .Produto ;
11
11
@@ -17,151 +17,48 @@ public static void main(String[] args) {
17
17
18
18
public AppBd () {
19
19
20
- //carregarDriverJDBC(); // Esse código não é mais necessário, pois atualmente o driver é carregado de forma automática (caso ele seja encontrado)
20
+ //carregarDriverJDBC(); // Esse código não é mais necessário, pois atualmente o driver é carregado de forma automática (caso ele seja encontrado)
21
21
22
- try (var conn = ConnectionManager .getConnection ()){
22
+ try (var conn = ConnectionManager .getConnection ()){
23
23
24
+
25
+ var estadoDAO = new EstadoDAO (conn );
26
+ var produtoDAO = new ProdutoDAO (conn );
27
+ var dao = new DAO (conn );
28
+ var produto = new Produto ();
24
29
var marca = new Marca ();
30
+
25
31
marca .setId (1L ); //adiciona o "L" ao lado do número pq ele não é um tipo primitivo long é e sim um Long(classe wrapper/objeto)
26
-
27
- var produto = new Produto ();
32
+
28
33
produto .setMarca (marca );
29
34
produto .setNome ("Produto teste A" );
30
35
produto .setValor (180 );
31
- produto .setId (198L );//adiciona o "L" - long
32
-
33
- listarDadosTabela (conn , "produto" );
34
- //localizarEstado(conn, "PR");
35
- //inserirProduto(conn, produto);
36
- //listarDadosTabela(conn, "produto");
37
- //System.err.println();
38
- //excluirProduto(conn, 201L);
39
- //System.err.println();
40
- alterarProduto (conn , produto , produto .getId ());
41
- System .err .println ("--------------------" );
42
- listarDadosTabela (conn , "produto" );
43
-
36
+ produto .setId (198L );//adiciona o "L" - long
44
37
45
- } catch (SQLException e ) {
46
- System .err .println ("Não foi possível conectar ao banco de dados: " + e .getMessage ());
47
- }
48
- }
49
-
50
- private void excluirProduto (Connection conn , long id ) {
51
- var sql = "delete from produto where id = ?" ;
52
- System .out .println ();
53
-
54
- try (var statement = conn .prepareStatement (sql )) {
55
- statement .setLong (1 , id );
56
-
57
- //executeUpdate() - retorna quantas linhas foram afetadas no bd
58
- if (statement .executeUpdate () == 1 ) {
59
- System .out .printf ("Produto %d excluído com sucesso!" , id );
60
- System .out .println ();
61
- } else {
62
- System .out .printf ("O produto %d nao foi excluído!" , id );
63
- System .out .println ();
64
- }
65
- } catch (SQLException e ) {
66
- System .out .println ("Erro ao exluir o produto: " + e .getMessage ());
67
- }
68
-
69
- }
70
-
71
- private void inserirProduto (Connection conn , Produto produto ) {
72
- var sql = "insert into produto (nome, marca_id, valor) values (?, ?, ?)" ;
73
- System .out .println ();
74
-
75
- try (var statement = conn .prepareStatement (sql )){
76
-
77
- statement .setString (1 , produto .getNome ());
78
- statement .setLong (2 , produto .getMarca ().getId ());
79
- statement .setDouble (3 , produto .getValor ());
80
- statement .executeUpdate ();
81
-
82
- } catch (SQLException e ) {
83
- System .out .println ("Erro na execução da consulta: " + e .getMessage ());
84
- }
85
- }
86
-
87
- private void alterarProduto (Connection conn , Produto produto , long id ) {
88
- var sql = "update produto set nome = ?, marca_id = ?, valor = ? where id = ?" ;
89
- System .out .println ();
90
-
91
- try (var statement = conn .prepareStatement (sql )){
92
-
93
- statement .setString (1 , produto .getNome ());
94
- statement .setLong (2 , produto .getMarca ().getId ());
95
- statement .setDouble (3 , produto .getValor ());
96
- statement .setLong (4 , produto .getId ());
97
- statement .executeUpdate ();
98
-
99
- } catch (SQLException e ) {
100
- System .out .println ("Erro na alteração do produto: " + e .getMessage ());
101
- }
102
- }
103
-
104
- private void listarDadosTabela (Connection conn , String tabela ) {
105
- var sql = "select * from " + tabela ;
106
- System .out .println (sql );
107
- try {
108
- var statement = conn .createStatement ();
109
- var result = statement .executeQuery (sql );
110
-
111
- var metadata = result .getMetaData (); /*para trazer o cabeçalho da tabela*/
112
- int cols = metadata .getColumnCount ();/*para trazer o cabeçalho da tabela*/
113
-
114
- for (int i = 1 ; i <= cols ; i ++) {
115
- System .out .printf ("%-25s | " , metadata .getColumnName (i ));
116
- }
117
- System .out .println ();
118
-
119
- while (result .next ()) {
120
- for (int i = 1 ; i <= cols ; i ++) {
121
- System .out .printf ("%-25s | " , result .getString (i ));
122
- }
123
- System .out .println ();
124
- }
125
-
126
- } catch (SQLException e ) {
127
- System .out .println ("Erro na execução da consulta: " + e .getMessage ());
128
- }
129
- }
130
-
131
- private void localizarEstado (Connection conn , String uf ) {
132
- try {
133
- //var sql = "select * from estado where uf = '" + uf + "'"; //sucetível a SQL Injection (PERIGOSO)
134
- var sql = "select * from estado where uf = ?" ;
135
- var statement = conn .prepareStatement (sql );
136
- System .out .println ();
137
- System .out .println (sql );
138
- statement .setString (1 , uf );
139
- var result = statement .executeQuery ();
140
- if (result .next ()) {
141
- System .out .printf ("Id: %d Nome: %s UF: %s%n" , result .getInt ("id" ), result .getString ("nome" ), result .getString ("uf" ));
38
+ var listaEstados = estadoDAO .listar ();
39
+
40
+ // pode ser "var" ou "Estado"
41
+ for (var e : listaEstados ) {
42
+ System .out .println (e );
43
+ //System.out.printf("Id: %d | Nome: %s | UF: %s | Região: %s | Área(km): %d | População: %d", e.getId(), e.getNome(), e.getUf(), e.getRegiao(), e.getAreaKm(), e.getPopulacao());
142
44
}
45
+
46
+ /*estadoDAO.localizar("RN");
47
+
48
+ dao.listarDadosTabela("produto");
49
+
50
+ produtoDAO.inserir(produto);
51
+ produtoDAO.excluir(201L);
52
+ produtoDAO.alterar(produto, produto.getId());
53
+
54
+ dao.listarDadosTabela("produto");
55
+ */
56
+
143
57
} catch (SQLException e ) {
144
- System .err .println ("Erro ao executar consulta SQL: " + e .getMessage ());
145
- }
146
- }
147
-
148
- private void listarEstados (Connection conn ) {
149
- try {
150
- System .out .println ("Conexão com banco de dados realizada com sucesso!" );
151
-
152
- var statement = conn .createStatement ();
153
- var result = statement .executeQuery ("select * from estado" );
154
-
155
- while (result .next ()){
156
- System .out .printf ("Id: %d Nome: %s UF: %s%n" , result .getInt ("id" ), result .getString ("nome" ), result .getString ("uf" ));
157
- }
158
- } catch (SQLException e ) {
159
- System .err .println ("Não foi possível executar a consulta ao banco: " + e .getMessage ());
58
+ System .err .println ("Não foi possível conectar ao banco de dados: " + e .getMessage ());
160
59
}
161
60
}
162
-
163
-
164
-
61
+
165
62
/* // Com os framewors modernos, como spring, essa configuração não é mais realizada
166
63
private void carregarDriverJDBC() {
167
64
try{
0 commit comments