Você está na página 1de 19

Índice Geral

1
Índice de Figuras
Figure 1- Basede dados....................................................................................................................4
Figure 2-pacotes ou bibliotecas.......................................................................................................6
Figure 4- botao salvar......................................................................................................................7
Figure 5- formulario de cadastro.....................................................................................................8
Figure 6- conexao............................................................................................................................9
Figure 7- dadosDao........................................................................................................................11
Figure 8- Interface.........................................................................................................................13
Figure 9- genericoDao...................................................................................................................16

2
Objetivos

Geral

Desenvolver um programa para cadastrar, gerir e armazenar dados relativos à população


(recenseamento populacional);

Especifico

 Cadastrar as populações recenseadas;


 Manipular os seus dados pessoais;
 Armazenar a informação relativa a essa população;
 Gerar relatórios e facilitar na gestão e redistribuição da renda dos recursos.

3
Aplicativo para auxílio do recenseamento populacional

Este projecto deste aplicativo é constituído pelo próprio aplicativo e a base de dados, não só ele
foi desenvolvido pelo padrão MVC (modelo, controlador e visões);

Para iniciar o relato ou seja a documentação deste projeto ir-se á detalhar passo a passo o seu
desenvolvimento a partir da base de dados ate a aplicação e os respetivos modelos (MVC).

Base de dados

Para desenhar-se e desenvolver-se a base de dados usou-se os seguintes softwares: SQL


WorkBench 6.2CE para modelar a base de dados de uma forma visual e mais simplificada; o
servidor SQL, para alocara base de dados; linguagem My SQL para desenho estruturação,
desenvolvimento e teste e o WampServer, para auxílio da visualização dos dados cadastrados
sem recorrer direitamente ao servidor SQL usando a linguagem My SQL.

A base de dados ostenta o nome de Recenseamento, ela é composta por uma tabela de nome
Dados com 7 atributos, a saber: id dados que é a chave primária não nula do tipo inteiro, nome,
apelido, idade sexo, estado civil, residência e profissão, todos eles são varchar.

Figure 1- Basede dados

4
Aplicativo

O aplicativo foi desenvolvido na linguagem java com o auxílio do NetbeansIDE;

Para desenvolver este projeto importa mostrar a sequência das classes em forma de um
fluxograma, que irá ajudar na perceção da interligação das classes.

Fluxograma

Classe principal

Formulário Dados

Classe de interface entre o


formulário, genericDao e a Classe que manipula os dados Classe que reconhece os dados
conexão com base de dados. entre o formulário e a base de do formulário e encaminha a sua
Dados.java dados. GenericDao manipulação. DadosDao

Classe Conexão com a base


de dados ConexaoDB

Este aplicativo é composto por um projeto de nome Massamba e 3 pacotes a saber: model,
controll e view, e um conector de base de dado.

View

Neste pacote encontramos 2 classes formulários que são: pricimpal.java e dados.java, no


principal encontra-se uma simples imagem que serve de comodidade para o usuário, e no
formulário dados encontramos os seguintes campos: nome e idade, nos quais o usuário irá inserir
dados, para criar estes campos no netbeans procurar na margem direita onde vem texto Field

5
clica e arrasta ao formulário, e 4 combobox para selecionar o estado civil, residência, profissão e
sexo.

O formulário Dados conte 2 botões, um para gravar os dados inseridos e selecionados no


formulário a base de dados e o outro para fechar o formulário.

Para usar-se o botão salvar primeiro criamos um serto objecto para receber e cadastrar os valores
selecionados nos combobox, e denominamos de disciplina, mas antes encontramos as bibliotecas
importadas. Veja a figura a baixo:

Figure 2-pacotes ou bibliotecas

import java.sql.SQLException; usado para controlar as exceções; import


javax.swing.JOptionPane; usado para desenho dos componentes assim como o painel.

6
Figura 1- Criação de um objecto para cadatr

No botão salvar encontramos 2 exceições, uma que indica que o cadastro foi efetuado com
sucesso e o outro no caso de erro de cadastro.

Figure 3- botao salvar

7
Figure 4- formulario de cadastro

Modell
No pacote model encontramos 4 classes a saber conexaoDB, GenericoDao, DaodosDao e Dados;
Detalhadamente falar-se à de cada uma iniciando na conexão com a base de dados.
Antes de criar a classe conexão devemos importar o conector do sql que é
"com.mysql.jdbc.Driver".

1. ConexaoDB

8
Figure 5- conexao

Nesta classe encontramos importadas 3 bibliotecas ou seja pacotes a saber:

 import java.sql.Connection; Importar-se este pacote para usarmos a classe Connection.


 import java.sql.DriverManager; este pacote conte o drive que faz a conexão com a
base de dados.
 import java.sql.SQLException; este pacote controla as exceções.

url é um parâmetro do método getConnection, usado por questão de legibilidade do código;

jdbc:mysql://127.0.0.1 – endereço do servidor de banco de dados, neste caso é o localhost, ou


seja, nossa própria máquina.

recenciamento – nome do nosso banco de dados.

? – Indica que iremos passar um conjunto de parâmetro.

user=root – usuário do banco de dados, neste caso, usuário administrador.

password= - senha do usuário, neste caso está em branco porque não colocamos senha
para o usuário root.

Instanciou-se o método getConnectionda da classe DriverManager, este método recebe uma


String como argumento, que é o endereço da base de dados, bem assim o usuário e senha.

Código fonte completo

package model;

9
import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

public class ConexaoDB {

private static final String URL_MYSQL ="jdbc:mysql://localhost/Recenciamento";

private static final String DRIVER_CLASS ="com.mysql.jdbc.Driver";

private static final String USER ="root";

private static final String PASS ="";

public static Connection getConnection()throws SQLException, ClassNotFoundException,RuntimeException{

Class.forName(DRIVER_CLASS);

return DriverManager.getConnection(URL_MYSQL, USER, PASS);

2. Classe DadosDao

10
Figure 6- dadosDao

É nesta classe em que os dados inseridos e selecionados no formulário são reconhecidos para
serem inseridos na base de dados, e leva uma instrução SQL que é a INSERT INTO VALUES e
a classe estende do genéricoDao.

Código fonte completo

package model;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.text.ParseException;

import java.util.ArrayList;

import java.util.logging.Level;

import java.util.logging.Logger;

import model.dadosDao;

import model.GenericoDao;

import java.sql.SQLException;

import view.Dados;

public class dadosDao extends GenericoDao {

public dadosDao() throws SQLException, ClassNotFoundException {

11
}

public void salvarDados(model.dados pr){

try{

String insert ="INSERT INTO dados(nome, idade,sexo,estadoCivil,residencia"

+ ",profissao,total) VALUES ('"+pr.getNome()+"', '"+pr.getIdade()+"', '"+pr.getSexo()+"', "

+ "'"+pr.getEstadoCivil()+"', '"+pr.getResidencia()+"',"

+ "'"+pr.getProfissao()+"','"+pr.getTotal()+"')";

System.out.println(insert);

save(insert);

}catch (SQLException ex)

Logger.getLogger(Dados.class.getName()).log(Level.SEVERE, null, ex);

3. Classe dados.java

Esta classe é chamada de classe interface pois é ela que faz o contacto entre a base de dados e o
formulário de cadastro, nela estão os get e o set dos atributos da tabela a ser manipulada na base
de dados; para criar tal interface primeiro declara-se as variáveis a serem usadas ou manipuladas
pela classe dadosDao, apois isso clica sobre o mause direito sobre a classe e selecione a opção
insert cod e selecione o get and set.

12
Figure 7- Interface

Código fonte completo

package model;

public class dados {

private int iddados;

private String nome;

private String idade;

private String sexo;

private String estadoCivil;

private String residencia;

private String profissao;

private String total;

public int getIddados() {

return iddados;

public void setIddados(int iddados) {

13
this.iddados = iddados;

public String getNome() {

return nome;

public void setNome(String nome) {

this.nome = nome;

public String getIdade() {

return idade;

public void setIdade(String idade) {

this.idade = idade;

public String getSexo() {

return sexo;

public void setSexo(String sexo) {

this.sexo = sexo;

public String getEstadoCivil() {

return estadoCivil;

public void setEstadoCivil(String estadoCivil) {

this.estadoCivil = estadoCivil;

public String getResidencia() {

return residencia;

public void setResidencia(String residencia) {

14
this.residencia = residencia;

public String getProfissao() {

return profissao;

public void setProfissao(String profissao) {

this.profissao = profissao;

public String getTotal() {

return total;

public void setTotal(String total) {

this.total = total;

15
4. GenericoDao

Esta classe faz todas possíveis manipulações do formulário e dos respetivos dados;

Figure 8- genericoDao

Código fonte completo

package model;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.SQLException;

public class GenericoDao {

private Connection conexao;

protected GenericoDao() throws SQLException, ClassNotFoundException{

this.conexao = ConexaoDB.getConnection();

16
}

protected Connection getConnection(){

return conexao;

protected void save(String insert,Object...parametros) throws SQLException{

PreparedStatement pstmt = getConnection().prepareStatement(insert);

for(int i=0; i<parametros.length;i++){

pstmt.setObject(i+1, parametros[i]);

pstmt.execute();

pstmt.close();

protected void update(String update,Object id,Object...parametros) throws SQLException{

PreparedStatement pstmt = getConnection().prepareStatement(update);

for(int i=0; i<parametros.length;i++){

pstmt.setObject(i+1, parametros[i]);

pstmt.setObject(parametros.length + 1, id);

pstmt.execute();

pstmt.close();

protected void delete(String insert,Object id,Object...parametros) throws SQLException{

PreparedStatement pstmt = getConnection().prepareStatement(insert);

for(int i=0; i<parametros.length;i++){

pstmt.setObject(i+1, parametros[i]);

pstmt.setObject(parametros.length, id);

pstmt.execute();

pstmt.close();

17
}

Conclusão

Deste trabalho pode se concluir que uma gestão automatizada das funcionalidades de um sistema
informatizado é indispensável pois ele acelera e dinamiza as funcionalidades que seriam tao
difíceis sem ele.

Com tempo ainda prevê-se que fosse acrescentadas as funções de alterar, editar, excluir e
pesquisar dados inseridos na base de dados, não só a impressão dos relatórios e o cadastro dos
usuários.

Porem este projeto esta inacabado sugere-se que todo leitor e amante de opiniões que o fação
com uma boa critica para ajudarem no desenvolvimento ainda mais acrescido deste trabalho.

18
Bibliografia

DEITEL & DEITEL; Java – Como Programar, 4ª Edição; Editora Bookman.

Java Essential for C and C++ Programmers, Addison Wesley,1996

CAMARA, Fabio; Orientação a objetos com .NET, 2002

http://java.sun.com/developer/onlineTraining/GUI/

19

Você também pode gostar