tenho uma aplicação simples que manipula dados.
Não reparem, pois é meio primeiro exemplo com banco de dados em java.
Como vocês notaram em alguns tópicos anteriores que eu criei, eu mal resolvi o problema de conexão, por isso não reparem!
- PS.: para este aplicativo é preciso criar um banco chamado
aula04 e uma tabela chamada Aluno com as seguintes: id e nome
Segue o código:
[code] /* para este aplicativo é preciso criar um banco chamado
- aula04 e uma tabela chamada Aluno com os seguintes campos:
- id e nome
*/
import java.awt.Frame;
import java.awt.event.WindowListener;
import java.awt.event.WindowEvent;
import java.awt.List;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;
public class Aula04 extends Frame implements WindowListener{
//atributos necessários para a interação com o banco:
private Connection conn;
private PreparedStatement pstmt;
private Statement stmt;
private ResultSet rs;
//sete métodos:
public void open() {
try {
Class.forName(“org.gjt.mm.mysql.Driver”);
conn = DriverManager.getConnection(“jdbc:mysql://localhost/aula04?autoReconnect=true”, “root”, “2017”);
// conn = DriverManager.getConnection(“jdbc:mysql://localhost/aula04?user=root&password=2017”);
} catch(ClassNotFoundException e) {
e.printStackTrace();
} catch(SQLException ex) {
ex.printStackTrace();
}
}
public void close() {
try {
if (stmt != null)
stmt.close();
conn.close();
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, “O banco de dados não fechou!”);
//e.printStackTrace();
}
}
public void inserir() {
try {
//abrindo a conexão com o banco:
open();
//instanciando o objeto statement (stmt) :
stmt = conn.createStatement();
//executando uma instrução SQL:
stmt.executeUpdate(“INSERT INTO ALUNO VALUES (1, ‘Pedro da Silva’)”);
//fechando a conexão com o banco:
close();
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, “Não foi possível inserir dados no banco!”,
“Erro”, JOptionPane.ERROR_MESSAGE);
//e.printStackTrace();
}
}
public void alterar() {
try {
//abrindo a conexão com o banco:
open();
//instanciando o objeto preparedStatement (pstmt) :
pstmt = conn.prepareStatement("UPDATE ALUNO SET NOME = ? Where id - 1");
//setando o valor ao parâmetro:
pstmt.setString(1, "MARIA RITA");
//fechando a conexão com o banco:
pstmt.execute();
close();
} catch (SQLException e) {
//fechando a conexão com o banco:
close();
JOptionPane.showMessageDialog(null, "Erro ao fechar o banco!",
"Erro", JOptionPane.ERROR_MESSAGE);
//e.printStackTrace();
}
}
public ResultSet buscarAlunos() {
try {
open();
stmt = conn.createStatement();
rs = stmt.executeQuery("SELECT id, nome FROM ALUNO");
return rs;
} catch (SQLException e) {
close();
e.printStackTrace();
}
return null;
}
public void imprimirAlunos() throws SQLException {
List listAlunos = new List();
Aula04 aula = new Aula04();
aula.rs = aula.buscarAlunos();
while (aula.rs.next())
listAlunos.add("id: " + aula.rs.getInt("id") + " - " +
" Nome: " + aula.rs.getString("nome"));
Frame janela = new Frame("Exemplo de banco de Dados");
janela.setLocation(300,100);
janela.setSize(400,300);
janela.add(listAlunos);
janela.setResizable(false);
janela.setVisible(true);
janela.addWindowListener(this);
}
public static void main(String[] args) {
Aula04 aula = new Aula04();
aula.inserir();
aula.alterar();
aula.rs = aula.buscarAlunos();
try {
aula.imprimirAlunos();
} catch (SQLException e) {
e.printStackTrace();
}
}
//método listener do botão “x” de fechar a tela:
public void windowClosing(WindowEvent e) {
System.exit(1);
}
public void windowClosed(WindowEvent e) {}
public void windowIconified(WindowEvent e) {}
public void windowOpened(WindowEvent e) {}
public void windowDeiconified(WindowEvent e) {}
public void windowActivated(WindowEvent e) {}
public void windowDeactivated(WindowEvent e) {}
}
[/code]
Tá na mão!
Espero encontrar aqui neste fórum, alguns exemplos de como um usuário faz
para inserir dados em um banco através de tabelas ou formulários e depois
buscá-los de diversas maneiras (todos de uma vez, por data, por nome, etc)…
Mas tudo isso utilizando uma aplicação visual, é claro. (uma tabela, quem sabe)…