1
1
import java .sql .Connection ;
2
2
import java .sql .PreparedStatement ;
3
3
4
- import com .mysql .cj .x .protobuf .MysqlxPrepare .Prepare ;
5
-
6
4
public class Pessoa {
7
5
private int codigo ;
8
6
private String nome ;
9
7
private String fone ;
10
8
private String email ;
11
9
12
- //mapeamento objeto relacional
13
- //ORM: Hibernate, EclipseLink
14
- public void inserir () throws Exception {
15
- //1. Definir o comando SQL
10
+ // mapeamento objeto relacional
11
+ // ORM: Hibernate, EclipseLink
12
+ public void inserir () throws Exception {
13
+ // 1. Definir o comando SQL
16
14
String sql = "INSERT INTO tb_pessoa (nome, fone, email) VALUES (?, ?, ?)" ;
17
- //2. Abrir uma conexão com o MySQL Server
18
- ConnectionFactory factory = new ConnectionFactory ();
19
- Connection conexao = factory .getConnection ();
20
- //3. Preparar o comando (solicitar ao MySQL Server que compile o comando SQL previamente)
15
+ Connection conexao = ConnectionFactory .getConnection ();
16
+ // 3. Preparar o comando (solicitar ao MySQL Server que compile o comando SQL
17
+ // previamente)
21
18
PreparedStatement ps = conexao .prepareStatement (sql );
22
- //4. Substituir os eventuais placeholders
19
+ // 4. Substituir os eventuais placeholders
23
20
ps .setString (1 , nome );
24
21
ps .setString (2 , fone );
25
22
ps .setString (3 , email );
26
- //5. Executar o comando
23
+ // 5. Executar o comando
27
24
ps .execute ();
28
- //6. Fechar os recursos (conexão e o comando preparado)
25
+ // 6. Fechar os recursos (conexão e o comando preparado)
29
26
ps .close ();
30
27
conexao .close ();
31
28
}
32
29
33
- public void atualizar () throws Exception {
34
- //1. Especificar o comando SQL (UPDATE)
30
+ public void atualizar () throws Exception {
31
+ // 1. Especificar o comando SQL (UPDATE)
35
32
String sql = "UPDATE tb_pessoa SET nome = ?, fone = ?, email = ? WHERE cod_pessoa = ?" ;
36
- //2. Abrir uma conexão com o MySQL Server
37
- ConnectionFactory factory = new ConnectionFactory ();
38
- //try-with-resources (desde a versão 7 do Java SE)
39
- try (Connection conexao = factory .getConnection ();
40
- //3. Preparar o comando
41
- PreparedStatement ps = conexao .prepareStatement (sql )){
42
- //4. Substituir os placeholders
33
+ // try-with-resources (desde a versão 7 do Java SE)
34
+ try (Connection conexao = ConnectionFactory .getConnection ();
35
+ // 3. Preparar o comando
36
+ PreparedStatement ps = conexao .prepareStatement (sql )) {
37
+ // 4. Substituir os placeholders
43
38
ps .setString (1 , nome );
44
39
ps .setString (2 , fone );
45
40
ps .setString (3 , email );
46
41
ps .setInt (4 , codigo );
47
- //5. Executar o comando
42
+ // 5. Executar o comando
48
43
ps .execute ();
49
- //6. Fechar os recursos: já está feito pelo try-with-resources
44
+ // 6. Fechar os recursos: já está feito pelo try-with-resources
50
45
}
51
46
}
52
47
53
- public void apagar () throws Exception {
54
- //1. Especificar o comando SQL (DELETE por código)
48
+ public void apagar () throws Exception {
49
+ // 1. Especificar o comando SQL (DELETE por código)
55
50
String sql = "DELETE FROM tb_pessoa WHERE cod_pessoa = ?" ;
56
- //2. Abrir uma conexão com o MySQL Server (Usando try-with-resources do Java 7)
57
- try (
58
- Connection conexao = new ConnectionFactory (). getConnection ();
59
- //3. Preparar o comando
60
- PreparedStatement ps = conexao . prepareStatement ( sql );
61
- ) {
62
- //4. Substituir os placeholders
51
+ new ConnectionFactory ();
52
+ // 2. Abrir uma conexão com o MySQL Server (Usando try-with-resources do Java 7)
53
+ try (
54
+ Connection conexao = ConnectionFactory . getConnection ();
55
+ // 3. Preparar o comando
56
+ PreparedStatement ps = conexao . prepareStatement ( sql );) {
57
+ // 4. Substituir os placeholders
63
58
ps .setInt (1 , codigo );
64
- //5. Executar o comando
59
+ // 5. Executar o comando
65
60
ps .execute ();
66
61
}
67
62
}
68
63
69
- public static void listar () throws Exception {
70
- //1. Especificar o comando SQL (SELECT)
64
+ public static String listar () throws Exception {
65
+ // 1. Especificar o comando SQL (SELECT)
71
66
String sql = "SELECT * FROM tb_pessoa" ;
72
- //2. Abrir uma conexão (usando try-with-resources)
73
- //3. Preparar o comando
74
- try (
75
- Connection conexao = ConnectionFactory . getConnection ();
76
- PreparedStatement ps = conexao . prepareStatement ( sql );
77
- //4. Substituir os eventuais placeholders
78
- //5. Executar o comando
79
- java . sql . ResultSet rs = ps . executeQuery ();
80
- ){
81
- //6. Tratar o resultado (pois ele é uma tabela)
82
- while (rs .next ()){
67
+ String msg = " \n " ;
68
+ // 2. Abrir uma conexão (usando try-with-resources)
69
+ // 3. Preparar o comando
70
+ try (
71
+ Connection conexao = ConnectionFactory . getConnection ( );
72
+ PreparedStatement ps = conexao . prepareStatement ( sql );
73
+ // 4. Substituir os eventuais placeholders
74
+ // 5. Executar o comando
75
+ java . sql . ResultSet rs = ps . executeQuery ();) {
76
+ // 6. Tratar o resultado (pois ele é uma tabela)
77
+ while (rs .next ()) {
83
78
int codigo = rs .getInt ("cod_pessoa" );
84
79
String nome = rs .getString ("nome" );
85
80
String fone = rs .getString ("fone" );
86
81
String email = rs .getString ("email" );
87
- System .out .printf (
88
- "código: %d, nome: %s, fone: %s, e-mail: %s\n " ,
89
- codigo , nome , fone , email
90
- );
91
- }
92
82
83
+ msg += String .format ("Codigo: %s \n Nome: %s \n Fone: %s \n Email: %s\n \n " , codigo , nome , fone , email );
84
+
85
+ }
86
+ return msg ;
93
87
}
94
88
}
95
89
96
- public Pessoa (String nome , String fone , String email ){
97
- this (0 , nome , fone , email );
90
+ // Buscar por cod_pessoa
91
+ public static Pessoa buscar (int codigo ) throws Exception {
92
+ // Especificar comando SQL
93
+ String sql = "SELECT * FROM tb_pessoa WHERE cod_pessoa = ?" ;
94
+ Pessoa p = new Pessoa (null , null , null );
95
+ // Abrir conexão e preparar comando
96
+ try (
97
+ Connection conexao = ConnectionFactory .getConnection ();
98
+ PreparedStatement ps = conexao .prepareStatement (sql );) {
99
+ // Substituir placeholder
100
+ ps .setInt (1 , codigo );
101
+ // Executar comando
102
+ java .sql .ResultSet rs = ps .executeQuery ();
103
+ if (rs .next ()) {
104
+ p .setNome (rs .getString ("nome" ));
105
+ p .setFone (rs .getString ("fone" ));
106
+ p .setEmail (rs .getString ("email" ));
107
+ System .out .println ("\n " + p .getNome () + "\n " + p .getFone () + "\n " + p .getEmail () + "\n " );
108
+ }
109
+ }
110
+ return p ;
111
+ }
112
+
113
+ public Pessoa (String nome , String fone , String email ) {
114
+ this (0 , nome , fone , email );
98
115
}
99
116
100
- public Pessoa (int codigo , String nome , String fone , String email ){
117
+ public Pessoa (int codigo , String nome , String fone , String email ) {
101
118
setCodigo (codigo );
102
119
setNome (nome );
103
120
setFone (fone );
104
121
setEmail (email );
105
122
}
106
123
107
- public Pessoa (int codigo ){
124
+ public Pessoa (int codigo ) {
108
125
this (codigo , null , null , null );
109
126
}
110
127
@@ -115,6 +132,7 @@ public int getCodigo() {
115
132
public String getEmail () {
116
133
return email ;
117
134
}
135
+
118
136
public String getFone () {
119
137
return fone ;
120
138
}
@@ -138,4 +156,4 @@ public void setFone(String fone) {
138
156
public void setNome (String nome ) {
139
157
this .nome = nome ;
140
158
}
141
- }
159
+ }
0 commit comments