Implementação de Paginação e Cache em MyBatis
Paginação em MyBatis: Lógica vs Física
Paginação Lógica
O MyBatis utiliza paginação lógica por padrão, onde todos os registros são carregadso na memória antes da seleção do subconjunto desejado. Por exemplo, com 100 registros no banco e página de 10 elementos, todos os 100 são transferidos para memória antes da extração. Essa abordagem possui l ...
Publicado em 6-17 22:48
SQLite3: Um Guia Prático para Desenvolvimento e Persistência de Dados
Introdução ao SQLite3
SQLite é um sistema de gerenciamento de banco de dados relacional (SGBDR) notável por sua implementação compacta e eficiente em linguagem C. Diferente de outros SGBDRs tradicionais que operam como servidores separados, o SQLite se destaca por ser "serverless", ou seja, o banco de dados é incorporado diretamente n ...
Publicado em 6-16 21:36
Simplificando Condições IN com @Select no MyBatis
Ao migrar recentemente do JPA para o MyBatis utilizando configuração sem XML e anotações @Select diretamente nas interfaces, deparei-me com a complexidade na implementação de condições IN.
A abordagem tradicional exige uma sintaxe bastante verbosa:
@Select({"<script>",
"SELECT *",
"FROM artigo&q ...
Publicado em 6-16 02:56
Tópicos Avançados de MySQL
Views
========
Conceito
Uma view no MySQL é uma tabela virtual resultante de uma consulta SELECT. Ela não armazena dados fisicamente, mas permite acessar dados de tabelas subjacentes como se fosse uma tabela real. As views são úteis para simplificar consultas complexas, reutilizar código SQL e controlar o acesso aos dados.
Sintaxe
CREATE VIEW ...
Publicado em 6-15 16:59
Como Ordenar Dados em Banco de Dados com ORDER BY Seguindo uma Ordem Específica
Métodos de Ordenação Personalizada em SQL
Em muitas aplicações, é necessário fornecer resultados de consulta ordenados de acordo com requisitos específicos. Existem várias abordagens para implementar ordenação personalizada em SQL, conforme discutido abaixo:
1. Ordenação Nível de Instrução SQL
Para aplicações que exigem ordenação específica em ...
Publicado em 6-15 05:21
Restrições de Colunas e Modelagem de Relações em Tabelas MySQL
Ao definir uma tabela no MySQL, cada coluna deve especificar um tipo de dados e pode incluir opcionalmente restrições. As restrições adicionam limitações específicas aos tipos de dados, garantindo a integridade dos dados. Este artigo aborda restrições comuns e como modelar relacionamentos entre tabelas.
Para ilustrar, crie um banco de dados par ...
Publicado em 6-15 04:46
Otimizando Paginação Física no Oracle com MyBatis: Como Evitar o Problema de Hard Parse
O RowBounds padrão do MyBatis realiza o que chamamos de paginação em memória. Ele recupera todo o conjunto de dados do banco de dados e, somente no lado da aplicação, extrai o subconjunto desjeado. Em sistemas com grandes volumes de dados, essa abordagem é um caminho rápido para erros de OutOfMemoryError (OOM).
A solução convencional no ecossis ...
Publicado em 6-15 03:31
Dominando Consultas com Múltiplas Tabelas no MySQL
Fundamentos da Sintaxe de Consulta
A estrutura básica parra recuperar dados de múltiplas tabelas envolve a cláusula SELECT, listando as colunas desejadas, a cláusula FROM especificando as tabelas de origem e a cláusula WHERE para definir as condições de filtragem e junção.
Preparação do Ambiente e Dados Iniciais
Para ilustrar os conceitos, cria ...
Publicado em 6-14 21:31
Ordenação de Resultados em Consultas SQL com ORDER BY
A organização dos dados retornados por uma consulta é fundamental para a análise de informações. Em SQL, essa tarefa é raelizada por meio da cláusula ORDER BY, que permite reordenar o conjunto de resultados com base em uma ou mais colunas específicas.
Fundamentos da Cláusula ORDER BY
A cláusula ORDER BY deve ser posicionada sempre ao final da i ...
Publicado em 6-14 16:38
Sintaxe Básica do LINQ - Introdução
O que é LINQ
LINQ é a abreviação de Language Integrated Query (Consulta Integrada à Linguagem), sendo uma inovação revolucionária introduzida no Visual Studio 2008 e .NET Framework 3.5. Esta tecnologia estabelece uma ponte entre o mundo dos objetos e o mundo dos dados.
O LINQ oferece suporte a diversas fontes de dados:
ADO.NET DataSet
Document ...
Publicado em 6-14 05:00