Skip to content
Browse files

material da aula 3

  • Loading branch information...
1 parent 1bac657 commit 7b0b8a642aa975a7b68f88d46e046393a388df7c @mauricio committed
View
BIN pessoas_idez.h2.db
Binary file not shown.
View
2 src/br/com/faculdadeidez/java/DBTest.java
@@ -23,7 +23,7 @@ public void testCreateTable() throws Exception {
Driver.load();
Connection c = DriverManager.getConnection( "jdbc:h2:pessoas_idez" );
- Statement s =c.createStatement();
+ Statement s = c.createStatement();
s.execute( "create table pessoas ( id bigint generated by default as identity, primary key (id), nome VARCHAR(255), email VARCHAR(255), endereco VARCHAR(255))" );
c.commit();
c.close();
View
23 src/br/com/faculdadeidez/java/configuracao/IOUtils.java
@@ -2,21 +2,32 @@
import java.io.Closeable;
import java.io.IOException;
+import java.sql.Connection;
+import java.sql.SQLException;
public class IOUtils {
- private IOUtils() {}
+ private IOUtils() {
+ }
public static void forceClose(Closeable r) {
- if ( r != null ) {
+ if (r != null) {
try {
r.close();
- } catch ( IOException e ) {
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ }
+
+ public static void forceClose(Connection c) {
+ if (c != null) {
+ try {
+ c.close();
+ } catch (SQLException e) {
throw new RuntimeException(e);
}
}
}
-
-
-
+
}
View
42 src/br/com/faculdadeidez/java/db/Pessoa.java
@@ -0,0 +1,42 @@
+package br.com.faculdadeidez.java.db;
+
+public class Pessoa {
+
+ private Long id;
+ private String nome;
+ private String email;
+ private String endereco;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public String getNome() {
+ return nome;
+ }
+
+ public void setNome(String nome) {
+ this.nome = nome;
+ }
+
+ public String getEmail() {
+ return email;
+ }
+
+ public void setEmail(String email) {
+ this.email = email;
+ }
+
+ public String getEndereco() {
+ return endereco;
+ }
+
+ public void setEndereco(String endereco) {
+ this.endereco = endereco;
+ }
+
+}
View
10 src/br/com/faculdadeidez/java/db/RepositorioDePessoas.java
@@ -0,0 +1,10 @@
+package br.com.faculdadeidez.java.db;
+
+import java.util.List;
+
+public interface RepositorioDePessoas {
+
+ public void adicionar( Pessoa p );
+ public List<Pessoa> listar();
+
+}
View
85 src/br/com/faculdadeidez/java/db/RepositorioDePessoasJDBC.java
@@ -0,0 +1,85 @@
+package br.com.faculdadeidez.java.db;
+
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.List;
+
+import br.com.faculdadeidez.java.configuracao.IOUtils;
+
+public class RepositorioDePessoasJDBC implements RepositorioDePessoas {
+
+ static {
+ try {
+ Class.forName("org.h2.Driver");
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ protected Connection getConnection() {
+ try {
+ return DriverManager.getConnection("jdbc:h2:pessoas_idez");
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ @Override
+ public void adicionar(Pessoa p) {
+
+ Connection c = this.getConnection();
+
+ try {
+
+ PreparedStatement s = c.prepareStatement(
+ "INSERT INTO pessoas ( nome, email, endereco ) VALUES ( ?, ?, ? )");
+ s.setString( 1, p.getNome() );
+ s.setString(2, p.getEmail());
+ s.setString( 3 , p.getEndereco());
+
+ s.executeUpdate();
+
+ } catch ( SQLException e ) {
+ throw new RuntimeException(e);
+ } finally {
+ IOUtils.forceClose(c);
+ }
+
+ }
+
+ @Override
+ public List<Pessoa> listar() {
+
+ List<Pessoa> pessoas = new ArrayList<Pessoa>();
+ Connection c = this.getConnection();
+
+ try {
+
+ PreparedStatement s = c.prepareStatement( "SELECT * FROM pessoas" );
+
+ ResultSet resultSet = s.executeQuery();
+
+ while ( resultSet.next() ) {
+ Pessoa p = new Pessoa();
+ p.setId( resultSet.getLong( "id" ) );
+ p.setNome( resultSet.getString("nome") );
+ p.setEmail(resultSet.getString("email") );
+ p.setEndereco( resultSet.getString("endereco") );
+
+ pessoas.add(p);
+ }
+
+ } catch ( SQLException e ) {
+ throw new RuntimeException(e);
+ } finally {
+ IOUtils.forceClose( c );
+ }
+
+ return pessoas;
+ }
+
+}
View
30 src/br/com/faculdadeidez/java/db/RepositorioDePessoasTest.java
@@ -0,0 +1,30 @@
+package br.com.faculdadeidez.java.db;
+
+import java.util.List;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+public class RepositorioDePessoasTest {
+
+ @Test
+ public void testAdicionar() {
+
+ Pessoa p = new Pessoa();
+ p.setNome( "José " + System.currentTimeMillis() );
+ p.setEmail( "jose@gmail.com" );
+ p.setEndereco( "Meu endereço" );
+
+ RepositorioDePessoas repo = new RepositorioDePessoasJDBC();
+
+ repo.adicionar(p);
+
+ List<Pessoa> pessoas = repo.listar();
+
+ Pessoa ultima = pessoas.get( pessoas.size() - 1 );
+
+ Assert.assertEquals( p.getNome(), ultima.getNome() );
+
+ }
+
+}
View
10 src/br/com/faculdadeidez/java/pagamentos/ServicoDePagamentoTest.java
@@ -1,13 +1,21 @@
package br.com.faculdadeidez.java.pagamentos;
+import org.junit.Assert;
import org.junit.Test;
public class ServicoDePagamentoTest {
@Test
- public void testPagarComSucesso() {
+ public void testPagarComSucesso() {
+ OperadoraDeCartao operadora = new FakeOperadoraDeCartao();
+ ServicoDePagamento servico = new ServicoDePagamento(operadora);
+ Cartao cartao = new Cartao();
+ cartao.setNumero("4444 4444 4444 4444");
+ Cliente cliente = new Cliente();
+
+ Assert.assertTrue( servico.pagar(cartao, cliente) );
}

0 comments on commit 7b0b8a6

Please sign in to comment.
Something went wrong with that request. Please try again.