- Sobre o Projeto
- Funcionalidades
- Requisitos
- Instalação e Configuração
- Exemplo de Uso
- Para Desenvolvedores
SQLAnnotation é um SDK em Java desenvolvido para simplificar o gerenciamento de consultas SQL em diferentes bancos de dados.
O foco principal é oferecer abstrações simples, funções utilitárias e gerenciamento de conexões eficiente através do HikariCP, permitindo que desenvolvedores criem aplicações escaláveis e de alto desempenho com menos esforço.
Atualmente o SDK possui suporte a MySQL, mas foi projetado para ser flexível e futuramente oferecer compatibilidade com PostgreSQL e SQLite.
- Abstrações de Queries: Gerenciamento de requisições SQL por meio de interfaces personalizáveis.
- Compatibilidade: Suporte aos principais bancos SQL (atualmente apenas MySQL).
- Configuração Simples: Setup rápido via arquivos de configuração ou código.
- Connection Pooling: Integração com HikariCP para conexões estáveis e performáticas.
- Extensível: Estrutura flexível para adicionar suporte a novos bancos de dados.
- Java: Versão 8 ou superior.
- Maven: 4.0.0 ou superior.
- Banco de Dados: Servidor MySQL acessível (PostgreSQL e SQLite em breve).
- Clone o repositório:
git clone https://github.com/seu-usuario/sqlannotation.git
- Navegue até o diretório:
cd sqlannotation - Compile o projeto:
mvn clean package
- Adicione o
.jargerado na pastatarget/ao seu projeto.
public class Teste {
private final UserRepository repository = SQLAnnotation.loadRepository(UserRepository.class);
@Test
public void main() {
MySQLEntity mySQL = new MySQLEntity("localhost", 3306, "server", "root", "");
SQLConfigEntity config = new SQLConfigEntity(mySQL);
config.setLog(true);
// Inicializa o SQLAnnotation
SQLAnnotation.init(config);
// Escaneia a entidade User
SQLAnnotation.scanEntity(User.class);
}
}@Entity(name = "USERS")
@Getter
@Setter
@ToString
public class User {
@Column
@PrimaryKey(autoIncrement = true)
private Long id;
@Column
private String name;
@Column
private Integer age;
@Column
private String email;
@Varchar(length = 1)
@Column(notNull = false)
private String gender;
}public interface UserRepository extends Repository<User> {
User findByName(String name);
JSONArray findAllByConditionalsAgeAndName(Integer age, String name);
void deleteAllByConditionalsAgeAndEmail(Integer age, String email);
void deleteByAge(Integer age);
}Caso queira modificar ou compilar manualmente:
- Clone o repositório:
git clone https://github.com/seu-usuario/sqlannotation.git
- Entre no diretório:
cd sqlannotation - Compile com Maven:
mvn clean package
- O
.jarfinal estará emtarget/.
Desenvolvido com ❤️ por oJVzinn