{"id":18369570,"url":"https://github.com/henriqueotogami/learning-jdbc-database","last_synced_at":"2026-04-29T16:36:40.642Z","repository":{"id":149912946,"uuid":"526805472","full_name":"henriqueotogami/learning-jdbc-database","owner":"henriqueotogami","description":"Estudos de SQL, JDBC e MySQL8.","archived":false,"fork":false,"pushed_at":"2025-03-04T05:32:33.000Z","size":252,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-10T21:32:20.475Z","etag":null,"topics":["database","java-11","jdbc","jdbc-connector","jdbc-database","mysql-connector-java","mysql-database","mysql8"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/henriqueotogami.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":"henriqueotogami","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"thanks_dev":null,"custom":null}},"created_at":"2022-08-20T02:29:32.000Z","updated_at":"2025-03-04T05:32:37.000Z","dependencies_parsed_at":null,"dependency_job_id":"6c8f787f-9ede-4917-88f5-c8bb34df7e73","html_url":"https://github.com/henriqueotogami/learning-jdbc-database","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/henriqueotogami/learning-jdbc-database","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/henriqueotogami%2Flearning-jdbc-database","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/henriqueotogami%2Flearning-jdbc-database/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/henriqueotogami%2Flearning-jdbc-database/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/henriqueotogami%2Flearning-jdbc-database/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/henriqueotogami","download_url":"https://codeload.github.com/henriqueotogami/learning-jdbc-database/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/henriqueotogami%2Flearning-jdbc-database/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265562081,"owners_count":23788460,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["database","java-11","jdbc","jdbc-connector","jdbc-database","mysql-connector-java","mysql-database","mysql8"],"created_at":"2024-11-05T23:29:52.170Z","updated_at":"2026-04-29T16:36:40.623Z","avatar_url":"https://github.com/henriqueotogami.png","language":"Java","funding_links":["https://ko-fi.com/henriqueotogami"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# Estudos de JDBC Database\n\n\u003cimg width=\"auto\" src=\"https://github.com/henriqueotogami/learning-jdbc-database/blob/main/JDBC-DATABASE.png?raw=true\"\u003e\n\n\u003cbr\u003e\n\u003cbr\u003e\n\u003cdiv align=\"center\"\u003e\n\u003cimg alt=\"GitHub last commit\" src=\"https://img.shields.io/github/last-commit/henriqueotogami/learning-jdbc-database\"\u003e\n\u003c/div\u003e\n\u003cbr\u003e\n\u003cimg src=\"https://img.shields.io/github/issues/henriqueotogami/learning-jdbc-database\"\u003e\n\u003cimg src=\"https://img.shields.io/github/forks/henriqueotogami/learning-jdbc-database\"\u003e\n\u003cimg src=\"https://img.shields.io/github/stars/henriqueotogami/learning-jdbc-database\"\u003e\n\u003cimg src=\"https://img.shields.io/github/license/henriqueotogami/learning-jdbc-database\"\u003e\n\u003c/div\u003e\n\u003cbr\u003e\n\u003cdiv align=center\u003e\n\u003ca href=\"https://wakatime.com/badge/user/1e53636e-c916-4d50-9ce1-f3ac75a883e3/project/6d2c64ad-2943-4a8d-9c3f-84c965a802f7\"\u003e\u003cimg src=\"https://wakatime.com/badge/user/1e53636e-c916-4d50-9ce1-f3ac75a883e3/project/6d2c64ad-2943-4a8d-9c3f-84c965a802f7.svg\" alt=\"wakatime\"\u003e\u003c/a\u003e\n\u003c/div\u003e\n\u003cbr\u003e\n\u003chr\u003e\n\n**Data:** 08/01/2023 — Em andamento\n\n**Curso:** [Cod3r | Java 2022 Completo](https://www.udemy.com/course/fundamentos-de-programacao-com-java/)\n\n## Descrição\n\n\u003e Este repositório contém estudos de **JDBC (Java Database Connectivity)** com MySQL. Os exemplos cobrem conexão com banco de dados, criação de banco e tabelas, operações CRUD e o padrão DAO (Data Access Object).\n\n\u003cbr\u003e\n\n## Conteúdo estudado\n\n- [x] Conexão com MySQL via JDBC\n- [x] Criação de banco de dados e tabelas\n- [x] Uso de `Statement` e `PreparedStatement`\n- [x] Operações CRUD (Create, Read, Update, Delete)\n- [x] Padrão DAO e reuso de conexão\n- [x] Configuração via arquivo de propriedades (`connection.properties`)\n- [x] Consultas com parâmetros e filtros (`LIKE`)\n\n\u003cbr\u003e\n\n## Estrutura do projeto\n\n```\nsrc/\n├── connection.model          # Modelo do arquivo de configuração (copie como connection.properties)\n├── FactoryConnection.java    # Fábrica de conexões (lê connection.properties)\n├── Person.java               # Modelo/entidade Person (código, nome)\n├── DAO.java                  # Data Access Object genérico (insert com PreparedStatement)\n├── CreateDataBase.java       # Cria o banco course_java\n├── CreateTablePeople.java    # Cria a tabela people\n├── DataBaseConnectionTest.java # Teste simples de conexão\n├── NewPerson.java            # Inserção de pessoa (entrada via Scanner)\n├── TestDAO.java              # Inserção em lote via DAO\n├── QueryPeopleOne.java       # Listagem de todas as pessoas (SELECT *)\n├── QueryPeopleTwo.java       # Busca por nome (SELECT com LIKE)\n├── UpdatePeople.java         # Atualização de nome por código\n└── DeletePeople.java         # Exclusão de pessoa por código\n```\n\n\u003cbr\u003e\n\n## Pré-requisitos e configuração\n\n### MySQL\n\n- Tenha o **MySQL** instalado e em execução (ex.: servidor em `localhost`).\n- Opcional: crie o banco manualmente ou execute `CreateDataBase` para criar o banco `course_java`.\n\n### Arquivo de conexão\n\nO projeto usa um arquivo `connection.properties` (não versionado). Use o modelo:\n\n1. Na pasta **src**, copie `connection.model` para `connection.properties`.\n2. Preencha com sua URL, usuário e senha:\n\n```properties\ndatabase.url=jdbc:mysql://localhost/course_java?verifyServerCertificate=false\u0026useSSL=true\ndatabase.user=root\ndatabase.password=sua_senha\n```\n\n\u003e O arquivo `connection.properties` é ignorado pelo Git (`.gitignore`) para não expor credenciais.\n\n\u003cbr\u003e\n\n## Dependências\n\n| Dependência            | Observação                          |\n|------------------------|-------------------------------------|\n| MySQL JDBC Driver      | `mysql-connector-java-8.0.30.jar` (ou compatível) |\n\nAdicione o JAR do driver MySQL ao classpath do projeto na sua IDE (IntelliJ: Project Structure → Libraries).\n\n\u003cbr\u003e\n\n## Exemplos do repositório\n\n| Classe                   | Descrição |\n|--------------------------|-----------|\n| **DataBaseConnectionTest** | Teste básico de conexão com o MySQL (credenciais em código). |\n| **CreateDataBase**       | Cria o banco `course_java` se não existir. |\n| **CreateTablePeople**    | Cria a tabela `people` (person_code, person_name) usando `FactoryConnection`. |\n| **NewPerson**            | Insere uma pessoa: lê o nome via `Scanner` e usa `PreparedStatement`. |\n| **TestDAO**              | Insere várias pessoas usando a classe `DAO` (retorna IDs gerados). |\n| **QueryPeopleOne**       | Lista todas as pessoas da tabela e exibe código e nome. |\n| **QueryPeopleTwo**       | Busca pessoas por parte do nome (entrada do usuário + `LIKE`). |\n| **UpdatePeople**         | Atualiza o nome de uma pessoa a partir do código informado. |\n| **DeletePeople**         | Remove uma pessoa pelo código e exibe quantidade de linhas afetadas. |\n\n\u003cbr\u003e\n\n## Ambiente de desenvolvimento\n\n### Sistema operacional\n\n- macOS Monterey — Versão 12.6\n\n### IDE\n\n- **IntelliJ IDEA Community Edition** 2022.2\n\n### Plugins\n\n- [Atom Material Icons](https://plugins.jetbrains.com/plugin/10044-atom-material-icons)\n- [Codota AI Autocomplete for Java](https://plugins.jetbrains.com/plugin/7638-codota-ai-autocomplete-for-java-and-javascript)\n- [GitToolBox](https://plugins.jetbrains.com/plugin/7499-gittoolbox)\n- [Nyan Progress Bar](https://plugins.jetbrains.com/plugin/8575-nyan-progress-bar)\n- [Rainbow Brackets](https://plugins.jetbrains.com/plugin/10080-rainbow-brackets)\n- [Wakatime](https://wakatime.com)\n- [Xcode-Dark Theme](https://plugins.jetbrains.com/plugin/13106-xcode-dark-theme)\n\n\u003cbr\u003e\n\n## Contribuições\n\n\u003e Caso você queira ajudar a melhorar este repositório, qualquer ajuda é bem-vinda.\n\n- [ ] Faça um **fork** deste repositório ([link para fork](https://github.com/henriqueotogami/learning-jdbc-database/fork));\n- [ ] Crie um **branch** para as suas modificações: `git checkout -b meu-novo-recurso`;\n- [ ] Faça um **commit**: `git commit -am 'Adicionando um novo recurso ...'`;\n- [ ] Faça um **push**: `git push origin meu-novo-recurso`;\n- [ ] Abra uma **pull request** neste repositório.\n\n**Depois que sua pull request for aceita e incorporada (merged) ao branch principal, você pode excluir sua branch com tranquilidade.**\n\n\u003cbr\u003e\n\n## Leia meus artigos\n\n- [Artigos no Medium](https://medium.com/@henriqueotogami)\n- [Artigos no Dev.to](https://dev.to/henriqueotogami)\n\n\u003cbr\u003e\n\n## Conecte-se comigo\n\n- [Perfil no LinkedIn](https://www.linkedin.com/in/henrique-matheus-alves-pereira)\n\n\u003cbr\u003e\n\u003chr\u003e\n\u003cdiv align=\"center\"\u003e\n\n\u003e ### **Muito obrigado, e que a Força esteja com você.**\n\u003e\n\u003e ### Desenvolvido por **HMAP | Henrique Matheus Alves Pereira** 🦁\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhenriqueotogami%2Flearning-jdbc-database","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhenriqueotogami%2Flearning-jdbc-database","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhenriqueotogami%2Flearning-jdbc-database/lists"}