Vou criar um guia CRUD (Create, Read, Update, Delete) em Java puro (usando JDBC para conexão com banco de dados). Usaremos o MySQL como exemplo, mas você pode adaptar para outros bancos.
Pré-requisitos
- Banco de dados MySQL instalado.
- Driver JDBC do MySQL (arquivo
mysql-connector-java-X.X.XX.jar
). - Java 8 ou superior.
Passo 1: Configurar o Banco de Dados
Crie uma tabela usuarios
no MySQL:
<span>CREATE</span> <span>DATABASE</span> <span>crud_java</span><span>;</span><span>USE</span> <span>crud_java</span><span>;</span><span>CREATE</span> <span>TABLE</span> <span>usuarios</span> <span>(</span><span>id</span> <span>INT</span> <span>PRIMARY</span> <span>KEY</span> <span>AUTO_INCREMENT</span><span>,</span><span>nome</span> <span>VARCHAR</span><span>(</span><span>50</span><span>)</span> <span>NOT</span> <span>NULL</span><span>,</span><span>email</span> <span>VARCHAR</span><span>(</span><span>50</span><span>)</span> <span>NOT</span> <span>NULL</span> <span>UNIQUE</span><span>,</span><span>idade</span> <span>INT</span><span>);</span><span>CREATE</span> <span>DATABASE</span> <span>crud_java</span><span>;</span> <span>USE</span> <span>crud_java</span><span>;</span> <span>CREATE</span> <span>TABLE</span> <span>usuarios</span> <span>(</span> <span>id</span> <span>INT</span> <span>PRIMARY</span> <span>KEY</span> <span>AUTO_INCREMENT</span><span>,</span> <span>nome</span> <span>VARCHAR</span><span>(</span><span>50</span><span>)</span> <span>NOT</span> <span>NULL</span><span>,</span> <span>email</span> <span>VARCHAR</span><span>(</span><span>50</span><span>)</span> <span>NOT</span> <span>NULL</span> <span>UNIQUE</span><span>,</span> <span>idade</span> <span>INT</span> <span>);</span>CREATE DATABASE crud_java; USE crud_java; CREATE TABLE usuarios ( id INT PRIMARY KEY AUTO_INCREMENT, nome VARCHAR(50) NOT NULL, email VARCHAR(50) NOT NULL UNIQUE, idade INT );
Enter fullscreen mode Exit fullscreen mode
Passo 2: Estrutura do Projeto Java
Crie um projeto Java e adicione o driver JDBC ao classpath (dependência).
src└── main└── java├── ConnectionFactory.java├── UsuarioDAO.java└── Main.javasrc └── main └── java ├── ConnectionFactory.java ├── UsuarioDAO.java └── Main.javasrc └── main └── java ├── ConnectionFactory.java ├── UsuarioDAO.java └── Main.java
Enter fullscreen mode Exit fullscreen mode
Passo 3: Código Java
Classe ConnectionFactory
(Conexão com o Banco)
<span>import</span> <span>java.sql.Connection</span><span>;</span><span>import</span> <span>java.sql.DriverManager</span><span>;</span><span>import</span> <span>java.sql.SQLException</span><span>;</span><span>public</span> <span>class</span> <span>ConnectionFactory</span> <span>{</span><span>private</span> <span>static</span> <span>final</span> <span>String</span> <span>URL</span> <span>=</span> <span>"jdbc:mysql://localhost:3306/crud_java"</span><span>;</span><span>private</span> <span>static</span> <span>final</span> <span>String</span> <span>USER</span> <span>=</span> <span>"root"</span><span>;</span><span>private</span> <span>static</span> <span>final</span> <span>String</span> <span>PASSWORD</span> <span>=</span> <span>"sua_senha"</span><span>;</span><span>public</span> <span>static</span> <span>Connection</span> <span>getConnection</span><span>()</span> <span>{</span><span>try</span> <span>{</span><span>return</span> <span>DriverManager</span><span>.</span><span>getConnection</span><span>(</span><span>URL</span><span>,</span> <span>USER</span><span>,</span> <span>PASSWORD</span><span>);</span><span>}</span> <span>catch</span> <span>(</span><span>SQLException</span> <span>e</span><span>)</span> <span>{</span><span>throw</span> <span>new</span> <span>RuntimeException</span><span>(</span><span>"Erro ao conectar ao banco de dados"</span><span>,</span> <span>e</span><span>);</span><span>}</span><span>}</span><span>}</span><span>import</span> <span>java.sql.Connection</span><span>;</span> <span>import</span> <span>java.sql.DriverManager</span><span>;</span> <span>import</span> <span>java.sql.SQLException</span><span>;</span> <span>public</span> <span>class</span> <span>ConnectionFactory</span> <span>{</span> <span>private</span> <span>static</span> <span>final</span> <span>String</span> <span>URL</span> <span>=</span> <span>"jdbc:mysql://localhost:3306/crud_java"</span><span>;</span> <span>private</span> <span>static</span> <span>final</span> <span>String</span> <span>USER</span> <span>=</span> <span>"root"</span><span>;</span> <span>private</span> <span>static</span> <span>final</span> <span>String</span> <span>PASSWORD</span> <span>=</span> <span>"sua_senha"</span><span>;</span> <span>public</span> <span>static</span> <span>Connection</span> <span>getConnection</span><span>()</span> <span>{</span> <span>try</span> <span>{</span> <span>return</span> <span>DriverManager</span><span>.</span><span>getConnection</span><span>(</span><span>URL</span><span>,</span> <span>USER</span><span>,</span> <span>PASSWORD</span><span>);</span> <span>}</span> <span>catch</span> <span>(</span><span>SQLException</span> <span>e</span><span>)</span> <span>{</span> <span>throw</span> <span>new</span> <span>RuntimeException</span><span>(</span><span>"Erro ao conectar ao banco de dados"</span><span>,</span> <span>e</span><span>);</span> <span>}</span> <span>}</span> <span>}</span>import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class ConnectionFactory { private static final String URL = "jdbc:mysql://localhost:3306/crud_java"; private static final String USER = "root"; private static final String PASSWORD = "sua_senha"; public static Connection getConnection() { try { return DriverManager.getConnection(URL, USER, PASSWORD); } catch (SQLException e) { throw new RuntimeException("Erro ao conectar ao banco de dados", e); } } }
Enter fullscreen mode Exit fullscreen mode
Classe UsuarioDAO
(Operações CRUD)
<span>import</span> <span>java.sql.Connection</span><span>;</span><span>import</span> <span>java.sql.PreparedStatement</span><span>;</span><span>import</span> <span>java.sql.ResultSet</span><span>;</span><span>import</span> <span>java.sql.SQLException</span><span>;</span><span>import</span> <span>java.util.ArrayList</span><span>;</span><span>import</span> <span>java.util.List</span><span>;</span><span>public</span> <span>class</span> <span>UsuarioDAO</span> <span>{</span><span>// CREATE</span><span>public</span> <span>void</span> <span>create</span><span>(</span><span>Usuario</span> <span>usuario</span><span>)</span> <span>{</span><span>String</span> <span>sql</span> <span>=</span> <span>"INSERT INTO usuarios (nome, email, idade) VALUES (?, ?, ?)"</span><span>;</span><span>try</span> <span>(</span><span>Connection</span> <span>conn</span> <span>=</span> <span>ConnectionFactory</span><span>.</span><span>getConnection</span><span>();</span><span>PreparedStatement</span> <span>stmt</span> <span>=</span> <span>conn</span><span>.</span><span>prepareStatement</span><span>(</span><span>sql</span><span>))</span> <span>{</span><span>stmt</span><span>.</span><span>setString</span><span>(</span><span>1</span><span>,</span> <span>usuario</span><span>.</span><span>getNome</span><span>());</span><span>stmt</span><span>.</span><span>setString</span><span>(</span><span>2</span><span>,</span> <span>usuario</span><span>.</span><span>getEmail</span><span>());</span><span>stmt</span><span>.</span><span>setInt</span><span>(</span><span>3</span><span>,</span> <span>usuario</span><span>.</span><span>getIdade</span><span>());</span><span>stmt</span><span>.</span><span>executeUpdate</span><span>();</span><span>}</span> <span>catch</span> <span>(</span><span>SQLException</span> <span>e</span><span>)</span> <span>{</span><span>throw</span> <span>new</span> <span>RuntimeException</span><span>(</span><span>"Erro ao criar usuário"</span><span>,</span> <span>e</span><span>);</span><span>}</span><span>}</span><span>// READ</span><span>public</span> <span>List</span><span><</span><span>Usuario</span><span>></span> <span>read</span><span>()</span> <span>{</span><span>String</span> <span>sql</span> <span>=</span> <span>"SELECT * FROM usuarios"</span><span>;</span><span>List</span><span><</span><span>Usuario</span><span>></span> <span>usuarios</span> <span>=</span> <span>new</span> <span>ArrayList</span><span><>();</span><span>try</span> <span>(</span><span>Connection</span> <span>conn</span> <span>=</span> <span>ConnectionFactory</span><span>.</span><span>getConnection</span><span>();</span><span>PreparedStatement</span> <span>stmt</span> <span>=</span> <span>conn</span><span>.</span><span>prepareStatement</span><span>(</span><span>sql</span><span>);</span><span>ResultSet</span> <span>rs</span> <span>=</span> <span>stmt</span><span>.</span><span>executeQuery</span><span>())</span> <span>{</span><span>while</span> <span>(</span><span>rs</span><span>.</span><span>next</span><span>())</span> <span>{</span><span>Usuario</span> <span>usuario</span> <span>=</span> <span>new</span> <span>Usuario</span><span>(</span><span>rs</span><span>.</span><span>getInt</span><span>(</span><span>"id"</span><span>),</span><span>rs</span><span>.</span><span>getString</span><span>(</span><span>"nome"</span><span>),</span><span>rs</span><span>.</span><span>getString</span><span>(</span><span>"email"</span><span>),</span><span>rs</span><span>.</span><span>getInt</span><span>(</span><span>"idade"</span><span>)</span><span>);</span><span>usuarios</span><span>.</span><span>add</span><span>(</span><span>usuario</span><span>);</span><span>}</span><span>}</span> <span>catch</span> <span>(</span><span>SQLException</span> <span>e</span><span>)</span> <span>{</span><span>throw</span> <span>new</span> <span>RuntimeException</span><span>(</span><span>"Erro ao listar usuários"</span><span>,</span> <span>e</span><span>);</span><span>}</span><span>return</span> <span>usuarios</span><span>;</span><span>}</span><span>// UPDATE</span><span>public</span> <span>void</span> <span>update</span><span>(</span><span>Usuario</span> <span>usuario</span><span>)</span> <span>{</span><span>String</span> <span>sql</span> <span>=</span> <span>"UPDATE usuarios SET nome = ?, email = ?, idade = ? WHERE id = ?"</span><span>;</span><span>try</span> <span>(</span><span>Connection</span> <span>conn</span> <span>=</span> <span>ConnectionFactory</span><span>.</span><span>getConnection</span><span>();</span><span>PreparedStatement</span> <span>stmt</span> <span>=</span> <span>conn</span><span>.</span><span>prepareStatement</span><span>(</span><span>sql</span><span>))</span> <span>{</span><span>stmt</span><span>.</span><span>setString</span><span>(</span><span>1</span><span>,</span> <span>usuario</span><span>.</span><span>getNome</span><span>());</span><span>stmt</span><span>.</span><span>setString</span><span>(</span><span>2</span><span>,</span> <span>usuario</span><span>.</span><span>getEmail</span><span>());</span><span>stmt</span><span>.</span><span>setInt</span><span>(</span><span>3</span><span>,</span> <span>usuario</span><span>.</span><span>getIdade</span><span>());</span><span>stmt</span><span>.</span><span>setInt</span><span>(</span><span>4</span><span>,</span> <span>usuario</span><span>.</span><span>getId</span><span>());</span><span>stmt</span><span>.</span><span>executeUpdate</span><span>();</span><span>}</span> <span>catch</span> <span>(</span><span>SQLException</span> <span>e</span><span>)</span> <span>{</span><span>throw</span> <span>new</span> <span>RuntimeException</span><span>(</span><span>"Erro ao atualizar usuário"</span><span>,</span> <span>e</span><span>);</span><span>}</span><span>}</span><span>// DELETE</span><span>public</span> <span>void</span> <span>delete</span><span>(</span><span>int</span> <span>id</span><span>)</span> <span>{</span><span>String</span> <span>sql</span> <span>=</span> <span>"DELETE FROM usuarios WHERE id = ?"</span><span>;</span><span>try</span> <span>(</span><span>Connection</span> <span>conn</span> <span>=</span> <span>ConnectionFactory</span><span>.</span><span>getConnection</span><span>();</span><span>PreparedStatement</span> <span>stmt</span> <span>=</span> <span>conn</span><span>.</span><span>prepareStatement</span><span>(</span><span>sql</span><span>))</span> <span>{</span><span>stmt</span><span>.</span><span>setInt</span><span>(</span><span>1</span><span>,</span> <span>id</span><span>);</span><span>stmt</span><span>.</span><span>executeUpdate</span><span>();</span><span>}</span> <span>catch</span> <span>(</span><span>SQLException</span> <span>e</span><span>)</span> <span>{</span><span>throw</span> <span>new</span> <span>RuntimeException</span><span>(</span><span>"Erro ao deletar usuário"</span><span>,</span> <span>e</span><span>);</span><span>}</span><span>}</span><span>}</span><span>import</span> <span>java.sql.Connection</span><span>;</span> <span>import</span> <span>java.sql.PreparedStatement</span><span>;</span> <span>import</span> <span>java.sql.ResultSet</span><span>;</span> <span>import</span> <span>java.sql.SQLException</span><span>;</span> <span>import</span> <span>java.util.ArrayList</span><span>;</span> <span>import</span> <span>java.util.List</span><span>;</span> <span>public</span> <span>class</span> <span>UsuarioDAO</span> <span>{</span> <span>// CREATE</span> <span>public</span> <span>void</span> <span>create</span><span>(</span><span>Usuario</span> <span>usuario</span><span>)</span> <span>{</span> <span>String</span> <span>sql</span> <span>=</span> <span>"INSERT INTO usuarios (nome, email, idade) VALUES (?, ?, ?)"</span><span>;</span> <span>try</span> <span>(</span><span>Connection</span> <span>conn</span> <span>=</span> <span>ConnectionFactory</span><span>.</span><span>getConnection</span><span>();</span> <span>PreparedStatement</span> <span>stmt</span> <span>=</span> <span>conn</span><span>.</span><span>prepareStatement</span><span>(</span><span>sql</span><span>))</span> <span>{</span> <span>stmt</span><span>.</span><span>setString</span><span>(</span><span>1</span><span>,</span> <span>usuario</span><span>.</span><span>getNome</span><span>());</span> <span>stmt</span><span>.</span><span>setString</span><span>(</span><span>2</span><span>,</span> <span>usuario</span><span>.</span><span>getEmail</span><span>());</span> <span>stmt</span><span>.</span><span>setInt</span><span>(</span><span>3</span><span>,</span> <span>usuario</span><span>.</span><span>getIdade</span><span>());</span> <span>stmt</span><span>.</span><span>executeUpdate</span><span>();</span> <span>}</span> <span>catch</span> <span>(</span><span>SQLException</span> <span>e</span><span>)</span> <span>{</span> <span>throw</span> <span>new</span> <span>RuntimeException</span><span>(</span><span>"Erro ao criar usuário"</span><span>,</span> <span>e</span><span>);</span> <span>}</span> <span>}</span> <span>// READ</span> <span>public</span> <span>List</span><span><</span><span>Usuario</span><span>></span> <span>read</span><span>()</span> <span>{</span> <span>String</span> <span>sql</span> <span>=</span> <span>"SELECT * FROM usuarios"</span><span>;</span> <span>List</span><span><</span><span>Usuario</span><span>></span> <span>usuarios</span> <span>=</span> <span>new</span> <span>ArrayList</span><span><>();</span> <span>try</span> <span>(</span><span>Connection</span> <span>conn</span> <span>=</span> <span>ConnectionFactory</span><span>.</span><span>getConnection</span><span>();</span> <span>PreparedStatement</span> <span>stmt</span> <span>=</span> <span>conn</span><span>.</span><span>prepareStatement</span><span>(</span><span>sql</span><span>);</span> <span>ResultSet</span> <span>rs</span> <span>=</span> <span>stmt</span><span>.</span><span>executeQuery</span><span>())</span> <span>{</span> <span>while</span> <span>(</span><span>rs</span><span>.</span><span>next</span><span>())</span> <span>{</span> <span>Usuario</span> <span>usuario</span> <span>=</span> <span>new</span> <span>Usuario</span><span>(</span> <span>rs</span><span>.</span><span>getInt</span><span>(</span><span>"id"</span><span>),</span> <span>rs</span><span>.</span><span>getString</span><span>(</span><span>"nome"</span><span>),</span> <span>rs</span><span>.</span><span>getString</span><span>(</span><span>"email"</span><span>),</span> <span>rs</span><span>.</span><span>getInt</span><span>(</span><span>"idade"</span><span>)</span> <span>);</span> <span>usuarios</span><span>.</span><span>add</span><span>(</span><span>usuario</span><span>);</span> <span>}</span> <span>}</span> <span>catch</span> <span>(</span><span>SQLException</span> <span>e</span><span>)</span> <span>{</span> <span>throw</span> <span>new</span> <span>RuntimeException</span><span>(</span><span>"Erro ao listar usuários"</span><span>,</span> <span>e</span><span>);</span> <span>}</span> <span>return</span> <span>usuarios</span><span>;</span> <span>}</span> <span>// UPDATE</span> <span>public</span> <span>void</span> <span>update</span><span>(</span><span>Usuario</span> <span>usuario</span><span>)</span> <span>{</span> <span>String</span> <span>sql</span> <span>=</span> <span>"UPDATE usuarios SET nome = ?, email = ?, idade = ? WHERE id = ?"</span><span>;</span> <span>try</span> <span>(</span><span>Connection</span> <span>conn</span> <span>=</span> <span>ConnectionFactory</span><span>.</span><span>getConnection</span><span>();</span> <span>PreparedStatement</span> <span>stmt</span> <span>=</span> <span>conn</span><span>.</span><span>prepareStatement</span><span>(</span><span>sql</span><span>))</span> <span>{</span> <span>stmt</span><span>.</span><span>setString</span><span>(</span><span>1</span><span>,</span> <span>usuario</span><span>.</span><span>getNome</span><span>());</span> <span>stmt</span><span>.</span><span>setString</span><span>(</span><span>2</span><span>,</span> <span>usuario</span><span>.</span><span>getEmail</span><span>());</span> <span>stmt</span><span>.</span><span>setInt</span><span>(</span><span>3</span><span>,</span> <span>usuario</span><span>.</span><span>getIdade</span><span>());</span> <span>stmt</span><span>.</span><span>setInt</span><span>(</span><span>4</span><span>,</span> <span>usuario</span><span>.</span><span>getId</span><span>());</span> <span>stmt</span><span>.</span><span>executeUpdate</span><span>();</span> <span>}</span> <span>catch</span> <span>(</span><span>SQLException</span> <span>e</span><span>)</span> <span>{</span> <span>throw</span> <span>new</span> <span>RuntimeException</span><span>(</span><span>"Erro ao atualizar usuário"</span><span>,</span> <span>e</span><span>);</span> <span>}</span> <span>}</span> <span>// DELETE</span> <span>public</span> <span>void</span> <span>delete</span><span>(</span><span>int</span> <span>id</span><span>)</span> <span>{</span> <span>String</span> <span>sql</span> <span>=</span> <span>"DELETE FROM usuarios WHERE id = ?"</span><span>;</span> <span>try</span> <span>(</span><span>Connection</span> <span>conn</span> <span>=</span> <span>ConnectionFactory</span><span>.</span><span>getConnection</span><span>();</span> <span>PreparedStatement</span> <span>stmt</span> <span>=</span> <span>conn</span><span>.</span><span>prepareStatement</span><span>(</span><span>sql</span><span>))</span> <span>{</span> <span>stmt</span><span>.</span><span>setInt</span><span>(</span><span>1</span><span>,</span> <span>id</span><span>);</span> <span>stmt</span><span>.</span><span>executeUpdate</span><span>();</span> <span>}</span> <span>catch</span> <span>(</span><span>SQLException</span> <span>e</span><span>)</span> <span>{</span> <span>throw</span> <span>new</span> <span>RuntimeException</span><span>(</span><span>"Erro ao deletar usuário"</span><span>,</span> <span>e</span><span>);</span> <span>}</span> <span>}</span> <span>}</span>import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; public class UsuarioDAO { // CREATE public void create(Usuario usuario) { String sql = "INSERT INTO usuarios (nome, email, idade) VALUES (?, ?, ?)"; try (Connection conn = ConnectionFactory.getConnection(); PreparedStatement stmt = conn.prepareStatement(sql)) { stmt.setString(1, usuario.getNome()); stmt.setString(2, usuario.getEmail()); stmt.setInt(3, usuario.getIdade()); stmt.executeUpdate(); } catch (SQLException e) { throw new RuntimeException("Erro ao criar usuário", e); } } // READ public List<Usuario> read() { String sql = "SELECT * FROM usuarios"; List<Usuario> usuarios = new ArrayList<>(); try (Connection conn = ConnectionFactory.getConnection(); PreparedStatement stmt = conn.prepareStatement(sql); ResultSet rs = stmt.executeQuery()) { while (rs.next()) { Usuario usuario = new Usuario( rs.getInt("id"), rs.getString("nome"), rs.getString("email"), rs.getInt("idade") ); usuarios.add(usuario); } } catch (SQLException e) { throw new RuntimeException("Erro ao listar usuários", e); } return usuarios; } // UPDATE public void update(Usuario usuario) { String sql = "UPDATE usuarios SET nome = ?, email = ?, idade = ? WHERE id = ?"; try (Connection conn = ConnectionFactory.getConnection(); PreparedStatement stmt = conn.prepareStatement(sql)) { stmt.setString(1, usuario.getNome()); stmt.setString(2, usuario.getEmail()); stmt.setInt(3, usuario.getIdade()); stmt.setInt(4, usuario.getId()); stmt.executeUpdate(); } catch (SQLException e) { throw new RuntimeException("Erro ao atualizar usuário", e); } } // DELETE public void delete(int id) { String sql = "DELETE FROM usuarios WHERE id = ?"; try (Connection conn = ConnectionFactory.getConnection(); PreparedStatement stmt = conn.prepareStatement(sql)) { stmt.setInt(1, id); stmt.executeUpdate(); } catch (SQLException e) { throw new RuntimeException("Erro ao deletar usuário", e); } } }
Enter fullscreen mode Exit fullscreen mode
Classe Usuario
(Modelo)
<span>public</span> <span>class</span> <span>Usuario</span> <span>{</span><span>private</span> <span>int</span> <span>id</span><span>;</span><span>private</span> <span>String</span> <span>nome</span><span>;</span><span>private</span> <span>String</span> <span>email</span><span>;</span><span>private</span> <span>int</span> <span>idade</span><span>;</span><span>// Construtor, getters e setters</span><span>public</span> <span>Usuario</span><span>(</span><span>int</span> <span>id</span><span>,</span> <span>String</span> <span>nome</span><span>,</span> <span>String</span> <span>email</span><span>,</span> <span>int</span> <span>idade</span><span>)</span> <span>{</span><span>this</span><span>.</span><span>id</span> <span>=</span> <span>id</span><span>;</span><span>this</span><span>.</span><span>nome</span> <span>=</span> <span>nome</span><span>;</span><span>this</span><span>.</span><span>email</span> <span>=</span> <span>email</span><span>;</span><span>this</span><span>.</span><span>idade</span> <span>=</span> <span>idade</span><span>;</span><span>}</span><span>// Getters e Setters</span><span>public</span> <span>int</span> <span>getId</span><span>()</span> <span>{</span> <span>return</span> <span>id</span><span>;</span> <span>}</span><span>public</span> <span>String</span> <span>getNome</span><span>()</span> <span>{</span> <span>return</span> <span>nome</span><span>;</span> <span>}</span><span>public</span> <span>String</span> <span>getEmail</span><span>()</span> <span>{</span> <span>return</span> <span>email</span><span>;</span> <span>}</span><span>public</span> <span>int</span> <span>getIdade</span><span>()</span> <span>{</span> <span>return</span> <span>idade</span><span>;</span> <span>}</span><span>}</span><span>public</span> <span>class</span> <span>Usuario</span> <span>{</span> <span>private</span> <span>int</span> <span>id</span><span>;</span> <span>private</span> <span>String</span> <span>nome</span><span>;</span> <span>private</span> <span>String</span> <span>email</span><span>;</span> <span>private</span> <span>int</span> <span>idade</span><span>;</span> <span>// Construtor, getters e setters</span> <span>public</span> <span>Usuario</span><span>(</span><span>int</span> <span>id</span><span>,</span> <span>String</span> <span>nome</span><span>,</span> <span>String</span> <span>email</span><span>,</span> <span>int</span> <span>idade</span><span>)</span> <span>{</span> <span>this</span><span>.</span><span>id</span> <span>=</span> <span>id</span><span>;</span> <span>this</span><span>.</span><span>nome</span> <span>=</span> <span>nome</span><span>;</span> <span>this</span><span>.</span><span>email</span> <span>=</span> <span>email</span><span>;</span> <span>this</span><span>.</span><span>idade</span> <span>=</span> <span>idade</span><span>;</span> <span>}</span> <span>// Getters e Setters</span> <span>public</span> <span>int</span> <span>getId</span><span>()</span> <span>{</span> <span>return</span> <span>id</span><span>;</span> <span>}</span> <span>public</span> <span>String</span> <span>getNome</span><span>()</span> <span>{</span> <span>return</span> <span>nome</span><span>;</span> <span>}</span> <span>public</span> <span>String</span> <span>getEmail</span><span>()</span> <span>{</span> <span>return</span> <span>email</span><span>;</span> <span>}</span> <span>public</span> <span>int</span> <span>getIdade</span><span>()</span> <span>{</span> <span>return</span> <span>idade</span><span>;</span> <span>}</span> <span>}</span>public class Usuario { private int id; private String nome; private String email; private int idade; // Construtor, getters e setters public Usuario(int id, String nome, String email, int idade) { this.id = id; this.nome = nome; this.email = email; this.idade = idade; } // Getters e Setters public int getId() { return id; } public String getNome() { return nome; } public String getEmail() { return email; } public int getIdade() { return idade; } }
Enter fullscreen mode Exit fullscreen mode
Classe Main
(Teste)
<span>import</span> <span>java.util.List</span><span>;</span><span>public</span> <span>class</span> <span>Main</span> <span>{</span><span>public</span> <span>static</span> <span>void</span> <span>main</span><span>(</span><span>String</span><span>[]</span> <span>args</span><span>)</span> <span>{</span><span>UsuarioDAO</span> <span>usuarioDAO</span> <span>=</span> <span>new</span> <span>UsuarioDAO</span><span>();</span><span>// CREATE</span><span>Usuario</span> <span>novoUsuario</span> <span>=</span> <span>new</span> <span>Usuario</span><span>(</span><span>0</span><span>,</span> <span>"João Silva"</span><span>,</span> <span>"joao@email.com"</span><span>,</span> <span>30</span><span>);</span><span>usuarioDAO</span><span>.</span><span>create</span><span>(</span><span>novoUsuario</span><span>);</span><span>// READ</span><span>List</span><span><</span><span>Usuario</span><span>></span> <span>usuarios</span> <span>=</span> <span>usuarioDAO</span><span>.</span><span>read</span><span>();</span><span>for</span> <span>(</span><span>Usuario</span> <span>u</span> <span>:</span> <span>usuarios</span><span>)</span> <span>{</span><span>System</span><span>.</span><span>out</span><span>.</span><span>println</span><span>(</span><span>u</span><span>.</span><span>getId</span><span>()</span> <span>+</span> <span>" - "</span> <span>+</span> <span>u</span><span>.</span><span>getNome</span><span>());</span><span>}</span><span>// UPDATE</span><span>Usuario</span> <span>usuarioAtualizado</span> <span>=</span> <span>new</span> <span>Usuario</span><span>(</span><span>1</span><span>,</span> <span>"João Silva Atualizado"</span><span>,</span> <span>"joao.novo@email.com"</span><span>,</span> <span>35</span><span>);</span><span>usuarioDAO</span><span>.</span><span>update</span><span>(</span><span>usuarioAtualizado</span><span>);</span><span>// DELETE</span><span>usuarioDAO</span><span>.</span><span>delete</span><span>(</span><span>1</span><span>);</span><span>}</span><span>}</span><span>import</span> <span>java.util.List</span><span>;</span> <span>public</span> <span>class</span> <span>Main</span> <span>{</span> <span>public</span> <span>static</span> <span>void</span> <span>main</span><span>(</span><span>String</span><span>[]</span> <span>args</span><span>)</span> <span>{</span> <span>UsuarioDAO</span> <span>usuarioDAO</span> <span>=</span> <span>new</span> <span>UsuarioDAO</span><span>();</span> <span>// CREATE</span> <span>Usuario</span> <span>novoUsuario</span> <span>=</span> <span>new</span> <span>Usuario</span><span>(</span><span>0</span><span>,</span> <span>"João Silva"</span><span>,</span> <span>"joao@email.com"</span><span>,</span> <span>30</span><span>);</span> <span>usuarioDAO</span><span>.</span><span>create</span><span>(</span><span>novoUsuario</span><span>);</span> <span>// READ</span> <span>List</span><span><</span><span>Usuario</span><span>></span> <span>usuarios</span> <span>=</span> <span>usuarioDAO</span><span>.</span><span>read</span><span>();</span> <span>for</span> <span>(</span><span>Usuario</span> <span>u</span> <span>:</span> <span>usuarios</span><span>)</span> <span>{</span> <span>System</span><span>.</span><span>out</span><span>.</span><span>println</span><span>(</span><span>u</span><span>.</span><span>getId</span><span>()</span> <span>+</span> <span>" - "</span> <span>+</span> <span>u</span><span>.</span><span>getNome</span><span>());</span> <span>}</span> <span>// UPDATE</span> <span>Usuario</span> <span>usuarioAtualizado</span> <span>=</span> <span>new</span> <span>Usuario</span><span>(</span><span>1</span><span>,</span> <span>"João Silva Atualizado"</span><span>,</span> <span>"joao.novo@email.com"</span><span>,</span> <span>35</span><span>);</span> <span>usuarioDAO</span><span>.</span><span>update</span><span>(</span><span>usuarioAtualizado</span><span>);</span> <span>// DELETE</span> <span>usuarioDAO</span><span>.</span><span>delete</span><span>(</span><span>1</span><span>);</span> <span>}</span> <span>}</span>import java.util.List; public class Main { public static void main(String[] args) { UsuarioDAO usuarioDAO = new UsuarioDAO(); // CREATE Usuario novoUsuario = new Usuario(0, "João Silva", "joao@email.com", 30); usuarioDAO.create(novoUsuario); // READ List<Usuario> usuarios = usuarioDAO.read(); for (Usuario u : usuarios) { System.out.println(u.getId() + " - " + u.getNome()); } // UPDATE Usuario usuarioAtualizado = new Usuario(1, "João Silva Atualizado", "joao.novo@email.com", 35); usuarioDAO.update(usuarioAtualizado); // DELETE usuarioDAO.delete(1); } }
Enter fullscreen mode Exit fullscreen mode
Passo 4: Execução
- Adicione o driver JDBC ao classpath (no Eclipse: Botão direito no projeto > Build Path > Configure Build Path > Libraries > Add JARs).
- Execute a classe
Main
.
Considerações
- Tratamento de Exceções: Use
try-with-resources
para garantir que conexões sejam fechadas automaticamente. - Segurança: Use
PreparedStatement
para evitar SQL injection. - Transações: Para operações críticas, adicione controle transacional com
commit()
erollback()
.
Este é um exemplo básico. Para projetos reais, considere usar:
- Frameworks como Hibernate (JPA) ou Spring JDBC.
- Pool de conexões (ex: HikariCP).
- Tratamento mais robusto de exceções.
暂无评论内容