https://github.com/daviteixeira-dev/software-persistencia
List of exercises and projects of the discipline of Software Development for Persistence 2022.2
https://github.com/daviteixeira-dev/software-persistencia
csv jackson java jdbc jpa-hibernate json postgresql spring-boot xml
Last synced: 9 months ago
JSON representation
List of exercises and projects of the discipline of Software Development for Persistence 2022.2
- Host: GitHub
- URL: https://github.com/daviteixeira-dev/software-persistencia
- Owner: daviteixeira-dev
- Created: 2022-08-22T23:18:49.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2022-11-09T02:46:01.000Z (over 3 years ago)
- Last Synced: 2025-05-30T14:56:59.127Z (10 months ago)
- Topics: csv, jackson, java, jdbc, jpa-hibernate, json, postgresql, spring-boot, xml
- Language: Java
- Homepage:
- Size: 14 MB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Desenvolvimento de Software para Persistência
Listas de exercicios e trabalhos práticos da disciplina de desenvolvimento de software para persistência - 2022.2
Lista de exercicios 01
Questão 1
Crie uma aplicação Java para receber via entrada de teclado um caminho ou nome de arquivo texto e dois números inteiros (n1 e n2).
A aplicação deve exibir as linhas do arquivo entre n1 e n2, incluindo as linhas n1 e n2. Se n1 não for definido, deve-se exibir as linhas do arquivo a partir da primeira linha até n2. Se n2 não for definido, deve-se exibir as linhas do arquivo a partir de n1 até o final do arquivo.
Questão 2
Escreva uma aplicação para ler um arquivo texto ou binário qualquer e gravá-lo em outro arquivo (arquivo destino).
Os nomes dos arquivos (origem e destino) devem ser definidos via argumentos de linha de comando (Dica: usar o String args[] do método main).
Lista de exercicios 02
Questão 1
Crie uma aplicação Java para receber via argumento de linha de comando um nome de arquivo texto e uma string S.
A aplicação deve exibir todas as linhas que tenham S como substring, independente dos caracteres estarem em caixa alta ou baixa (case-insensitive).
Questão 2
Escreva uma aplicação Java para receber via argumentos de linha de comando três nomes de arquivos.
Deve-se gerar um novo arquivo a partir da concatenação dos dois primeiros arquivos.
O nome do novo arquivo gerado é o último dos três nomes de arquivos recebidos como entrada.
Questão 3
Escolha e baixe um arquivo csv de no mínimo 1 MB, a partir da plataforma
Kaggle (https://www.kaggle.com/datasets) e use-o nas questões a seguir.
Na resolução desta questão, não enviar os arquivos envolvidos, mas somente os resultados pedidos em arquivo PDF.
Envie somente o link do arquivo escolhido.
-
Gere as somas checksum, md5 e sha1 do arquivo usando utilitários de linha de comando do próprio sistema operacional ou instalado nele.
Compacte via linha de comando o arquivo csv original usando compressões zip, gzip e rar. Depois disso compare os tempos e tamanhos dos arquivos gerados.
Dica: para obter o tempo de execução, use o comando time.
- Exemplo: time zip iris.zip iris.csv
Questão 4
Escreva um arquivo de propriedades Java via editor de textos. Esse arquivo deve ter os dados de chave e valor. Exemplo:
- arquivo config.properties
- arquivo = meu_arquivo.txt
- linha_inicial = 1
- linha_final = 3
- Depois, escreva uma classe Java que exibe da linha_inicial até a linha_final do arquivo,
conforme definidos no arquivo de propriedades config.properties.
OBS: Enviar as resoluções das questões compactadas em um arquivo em formato zip.
Lista de exercicios 03
Passo 1
Crie uma classe Java de entidade. Exemplo: Filme (id, titulo, sinopse, diretor). A classe deve implementar a interface java.io.Serializable.
Passo 2
Crie uma classe Java de nome Serializa para instanciar objetos da classe definida no passo 1 e adicionar esses objetos em uma Lista. Depois percorrer a lista e Serializar os objetos em disco/ssd. Serialize usando a Serialização de objetos da própria API Java (Introduction to Java Serialization | Baeldung).
Passo 3
Crie uma classe java de nome Desserializa para ler / desserializar os objetos Serializados do passo 2 e exibi-los.
Lista de exercicios 04
Questão 1
Crie uma classe Java de entidade. Exemplo: Filme (id, titulo, sinopse, diretor).
-
OBS: A classe não precisa implementar a interface java.io.Serializable.
Questão 2
Crie uma classe Java de nome Serializa para instanciar objetos da classe definida na Questão 1 e adicionar esses objetos em uma Lista. Depois, percorrer a lista e Serializar os objetos em disco/ssd. Serialize usando XML através da biblioteca Jackson (XML Serialization and Deserialization with Jackson | Baeldung).
Questão 3
Crie uma classe java de nome Desserializa para ler / desserializar os objetos Serializados na Questão 2 e exibi-los também através do uso da bilbioteca Jackson (XML Serialization and Deserialization with Jackson | Baeldung).
Lista de exercicios 05
Questão 1
Crie uma classe Java de entidade. Exemplo: Filme (id, titulo, sinopse, diretor).
-
OBS: A classe não precisa implementar a interface java.io.Serializable.
Questão 2
Crie uma classe Java de nome Serializa para instanciar objetos da classe definida na Questão 1 e adicionar esses objetos em uma Lista. Depois, percorrer a lista e Serializar os objetos em disco/ssd. Serialize usando JSON através da biblioteca Jackson (Serialization and Deserialization in Java using Jackson A practical guide on how to serialize and deserialize objects to JSON in Java using Jackson).
Questão 3
Crie uma classe java de nome Desserializa para ler / desserializar os objetos Serializados na Questão 2 e exibi-los também através do uso da bilbioteca Jackson (Serialization and Deserialization in Java using Jackson A practical guide on how to serialize and deserialize objects to JSON in Java using Jackson).
Trabalho Prático 1
-
1. Defina uma entidade principal com pelo menos 5 atributos e relacionada a um domínio de problema. Crie também uma classe Java para representá-la. Exemplo de entidade com 9 atributos: Cliente: id, nome, cpf, endereço, email, fone, cidade, uf, cep. A entidade deve estar relacionada a algo que você gosta bastante como: hobie, esporte, pet, alimentação, educação, música, filmes, séries, redes sociais, etc. A entidade escolhida por você não pode ser a entidade Cliente dada como exemplo. Escolha uma entidade bem diferente dela, inclusive quanto aos seus atributos.
-
2. Crie uma classe Java para cadastrar dados relacionados à entidade definida na questão 1. A classe deve receber dados via teclado e os salvar em um arquivo JSON.
-
3. Crie uma classe Java que recebe via linha de comando o nome de um arquivo qualquer em formato JSON e o converte para os formatos CSV e XML.
-
4. Crie uma classe Java que recebe como entrada de teclado o nome de um arquivo qualquer e o compacta para o formato ZIP ou outro formato de compressão à sua escolha.
-
5. Crie uma classe Java que recebe via linha de comando o nome de um arquivo qualquer e exibe no console o hash SHA1 desse arquivo. Dica: você pode se basear no exemplo a seguir, que gera o hash md5 e adaptá-lo para gerar o hash SHA1: https://www.baeldung.com/java-md5
Lista de exercicios 06
-
1. Crie e use uma fábrica de conexões nas questões seguintes.
-
2. Crie uma aplicação que use um banco relacional contendo uma tabela de alunos, com suas respectivas classes Java. Cada aluno deve ter um id, cpf, matrícula, nome, email e telefone.
-
3. Crie métodos para: (a) inserir aluno e também para (b) listar todos os alunos.
-
4. A aplicação deve ter um menu para realizar as funcionalidades previstas nas questões anteriores (consultas e inserções).
Codigos para a criação da tabela e incerção de um valor
-
create table alunos (id serial primary key, cpf varchar(14), matricula varchar(50), nome varchar(50), email varchar(50), telefone varchar(50));
-
insert into alunos (cpf, matricula, nome, email, telefone) values ('07003190055', '322841', 'Davi', 'davi@gmail.com', '40028922');