Categorias
Java

Apache POI – Gerador de Kits

Para quem planeja projetos simples e uteis usando Java e que agreguem pessoalmente e profissionalmente tem no framework Apache POI uma biblioteca que fornece ao desenvolvedor a possibilidade de controle do pacote office voltada à aplicações de escritório. Por meio dela é possível gerar documentos docx a partir de uma planilha xlsx corretamente populada com os dados que o usuário desejar.

Esta aplicação em questão se trata de um gerador de docs de kits alimentação para quem necessita do mesmo durante a pandemia e pertence a rede de escolas públicas, porém sua lógica pode ser estendida para as mais diversas funções. De um modo geral esta aplicação irá, por meio de uma planilha carregada com os dados cadastrais de todos os alunos de uma escola (nome, matricula, data de nascimento, nome do responsável, etc), gerar o termo de responsabilidade, no formato docx, informando que o mesmo recebeu devidamente o kit alimentação.

Entre as classes mais importantes existem:

  • Columns: Model responsável pelos dados do aluno.
  • ExcelController: Controller responsável por definir o path do arquivo xlsx e o controle da planilha.
  • ChecaMaiorIdade: Classe que faz a checagem da maioridade do aluno, caso seja menor os dados do responsável são inseridos no termo.
  • Demo: Classe principal que cria e controla o conteúdo do docx gerado.

Github: https://github.com/JAugustoMSJ/docsgenerator

Categorias
Android Java

CRUD – Cadastro e Consulta [Android]

Recentemente descobri que esse blog ainda tem algumas visitas, então decidi colocar mais alguns projetos por aqui sempre que possível.

Desde minha última postagem muitas coisas aconteceram, fiquei um bom tempo desanimado com desenvolvimento e migrei para outras áreas, mas no fim a vontade de aprender e curiosidade sempre acabam nos buscando pra esse mundo de novo.

Recentemente estou focando em Spring Boot, API Rest e games simples usando libGDX. Bom, essa postagem é de uma aplicação onde faço um CRUD simples usando Java e SQLite. Ainda pretendo evoluir mais esse app fazendo commits no GitHub sempre que possível.

Esse vídeo abaixo tem como objetivo mostrar como está a aplicação no momento – principalmente para quem está iniciando no desenvolvimento de apps – e checar as estatísticas do blog após tanto tempo. Por enquanto é isso, espero que gostem.

Github: https://github.com/JAugustoMSJ/Android-CRUD-Application

Categorias
Java

[Vídeo] Sistema Supermercado – Java + html + jstl + jsp + css

Sistema web completo.

Categorias
Java

[Vídeo] Questionário simples – HTML + Javascript + CSS

Um questionário simples funcionando com o evento onclick do Javascript, que é chamado dentro das tags html de captura de dados “<input>”, independentemente do seu tipo, que aqui em questão é usado o radio, pois é feito a escolha de somente um campo, caso fosse mais de um poderia ser usado o checkbox.

Então o código de captura do campo html mais o javascript fica assim:

S1.4 Todos os trabalhadores da sua empresa possuem CPF, NIS e data de nascimento cadastrados corretamente?
<br>
<input type=”radio” name=”s4″ value=”a” onclick=”respostaS4()”/>a) Não sei
<br>
<input type=”radio” name=”s4″ value=”b” onclick=”respostaS4()”/>b) Acho que sim, mas não tenho certeza
<br>
<input type=”radio” name=”s4″ value=”c”/>c) Sim, já validei junto a Caixa Federal Econômica
<br>
<div id=”msg”>
<output id=”mensagems4″ value=”mensagem”/>
</div>
<br>
<script>
function respostaS4(){
document.getElementById(“mensagems4″).value=”mensagem”;
}
</script>

No exemplo mostrado acima tanto a letra a quanto a b mostram o mesmo resultado, já que ambas executam a mesma função respostaS4 que seta uma mensagem, pelo campo id, ao campo correspondente mensagem do html.

Categorias
Java

[Vídeo] Cadastro de usuário feito em JPA+Hibernate+JSF

Nessa postagem vou tratar sobre alguns dos principais frameworks e API’s de desenvolvimento em java, voltados a persistência de dados, que são: JPA, Hibernate e JSF. JPA, ou Java Persistence API, é uma plataforma de desenvolvimento melhor estruturada e baseado no modelo de Mapeamento-Objeto-Relacional(ORM), que visa a criação de entidades e a persistência dos dados no banco, é implementada pelo Hibernate, sendo uma API mais robusta porém de linguagem mais simplificada e eficaz do que outros modelos como o JDBC.

Hibernate por sua vez, é um dos frameworks mais utilizados que implementa o modelo JPA, facilitando a conexão com banco a partir de interfaces gráficas que facilitam a definição do arquivo de configuração do sistema “persistence.xml”, a geração de entidades a partir da conexão com o banco de dados, além de uma linguagem mais específica de consulta como HQL(Hibernate Query Language) ou mesmo JPQL(Java Persistence Query Language), porém o sistema em java não irá funcionar sem um framework baseado no modelo MVC que será a view com o usuário, o JSF faz essa função.

O JSF, ou JavaServer Faces,  será a interface com o usuário voltado a execução dos beans a partir de ações, surgiu como solução aos problemas do JSP(JavaServer Pages), que vinha caindo em desuso, porém nada é perfeito e apesar de usa-lo nesse sistema e ainda ser muito usado atualmente também vem caindo em desuso, recomendo a leitura desse artigo, mas vamos ao que interessa, à seguir o vídeo que mostra um exemplo de cadastro em um sistema feito em JPA.

Categorias
Java

[Vídeo] Sistema Supermercado(SSJA) – Comprando produto e atualizando saldo

Aqui apresento alguns detalhes sobre o WindowBuilder, o qual é o plugin para Eclipse que implementa a interface visual do Swing, propriedades e alguns componentes básicos para um sistema simples em java desktop. É importante atentar para criação das principais panels do sistema, no final do vídeo apresento alguns testes de compra de usuário, como: qual e cada caso são permitidos, atualização de saldo após a compra e produtos insuficientes no estoque.

Categorias
Java

CRUD simples para alteração e exclusão de dados

Todo sistema possui uma tela de alteração, aqui é apresentado o funcionamento, por meio do jdbc, de alteração de dados do usuário, assim como em crud cadastro e crud consulta, também foram usados ResultSet e PreparedStatment do pacote java.sql para o gerenciamento dos dados entre o java e o BD supermercado.

O que é importante ressaltar no método “alterar(String consulta, Usuario usuario)”, é que ele precisa de dois parâmetros porque um representa a variável de consulta – que ainda será definida – e outro do objeto usuario que será atualizado, além de ser do tipo boolean para poder retornar uma mensagem ao usuário após a execução do método, por tanto o código fonte ficará da seguinte forma:

alterar
alterar

O método “excluir(String cpf)” é o mais simples, o qual vai deletar o usuário a partir do cpf informado, assim sendo:

excluir
excluir

Categorias
Java

CRUD SIMPLES PARA CONSULTA DE USUARIOS

Aqui será apresentada uma breve explicação sobre ResultSet e sua aplicação, mas primeiramente é preciso lembrar que uma consulta retorna valores, então o método não pode ser void, mas sim do tipo Usuario, além do que o retorno será baseado na consulta feita por um usuário por parâmetro, então: “public Usuario consulta(String consulta)”, com a variável “String consulta” representando a pesquisa pelo usuário.

A explicação sobre o PreparedStatement já foi dada no post anterior “CRUD SIMPLES PARA CADASTRO DE USUÁRIOS“, a única diferença é que dessa vez o retorno dos dados no BD pede que seja usado o ResultSet do pacote java.sql, representado pelo objeto “rs” ele recebe a execução “ps.executeQuery()”, após isso é feito a criação e inicialização de um objeto usuario e depois um laço em função da quantidade de dados total para retorno “while(rs.next())”, o objeto do ResultSet pega os dados da tabela usuario dentro do bd supermercado e seta no usuario criado, em “usuario.set…(rs.getString(“nome da coluna da tabela“))” e por fim é feito o retorno do usuario carregado com os dados.

consulta.java
consulta.java

Categorias
Java

CRUD simples para cadastro de usuarios

Para usar o SSJA o usuario deverá possuir cadastro, logo haverá uma tela de cadastro responsável por inserir todos os dados do usuário, ou seja, vai setar todos os atributos definidos na classe Usuario.java do pacote model.

Abaixo, é mostrado a classe “CRUD” e o código fonte da mesma, que vai criar a nova conexão fazendo o getConexao da classe “Conexao”, pelo construtor da classe. O método “inserir(Usuario usuario)” vai criar o objeto de Usuario, pegando todos os dados inseridos pelo usuario, por parâmetro e depois setando no bd.

A string “sql” recebe o script de inserção de usuário, ou DML: “insert into usuario(…)values(…)”. O objeto “con” que implementa a classe Connection do pacote java.sql, executa a instrução responsável por gerenciar os scripts sql, a partir do código “con.prepareStatement(sql)”. O objeto “ps” será usado para fazer a inserção de cada atributo no BD em “ps.setString(…, usuario.get…())” e logo após fará a execução em “ps.execute()”. Caso ocorra algum erro será feito o tratamento em “catch(SQLException e)” e logo após os objetos ps e con são fechados.

CRUD.java
CRUD.java

Categorias
Java

Pacote model: Classes Usuario, Produto e CategoriaProduto

No sistema “SSJA”, primeiramente serão criadas 3 classes principais, “Usuario”, “Produto” e “CategoriaProduto”, que serão responsáveis pelo projeto inicial do sistema e fazem parte de qualquer sistema gerenciador de estoque.

O pacote “model” terá as 3 classes, e cada uma terá seus respectivos atributos relacionados assim como seus getters e setters.

Pacote model e Usuario.java
Pacote model e Usuario.java

produto.java
Produto.java

CategoriaProduto.java
CategoriaProduto.java