O Query Builder é uma ferramenta poderosa para construir consultas SQL de forma programática em Java. Ele permite criar consultas complexas de maneira simples e intuitiva, evitando erros comuns de sintaxe e facilitando a manutenção do código.
- Construção de consultas SQL SELECT, INSERT, UPDATE e DELETE.
- Suporte a cláusulas WHERE, JOIN, ORDER BY, GROUP BY, HAVING, etc.
- Integração com diferentes bancos de dados.
- API fluente para construção de consultas.
- Java 8 ou superior.
- Biblioteca JDBC para o banco de dados que você deseja utilizar.
- Clone o repositório para o seu ambiente local:
git clone https://github.com/seu-usuario/query-builder.git
- Adicione o projeto ao seu ambiente de desenvolvimento Java.
Abaixo está um exemplo de como utilizar o Query Builder para construir uma consulta SQL em Java:
import com.querybuilder.builder.QueryBuilder;
import com.querybuilder.Enum.Operator;
public class Main {
public static void main(String[] args) {
QueryBuilder qb = new QueryBuilder("users");
String query = qb.select("name", "age")
.where("age", Operator.GREATER_THAN, 18)
.orderBy("name", true)
.build();
System.out.println(query);
// Saída: SELECT name, age FROM users WHERE age > 18 ORDER BY name ASC;
}
}Para executar a consulta construída, você precisará se conectar ao banco de dados usando JDBC. Veja um exemplo de como fazer isso:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class DatabaseExample {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/seu_banco_de_dados";
String user = "seu_usuario";
String password = "sua_senha";
try (Connection conn = DriverManager.getConnection(url, user, password);
Statement stmt = conn.createStatement()) {
QueryBuilder qb = new QueryBuilder("users");
String query = qb.select("name", "age")
.where("age", Operator.GREATER_THAN, 18)
.orderBy("name", true)
.build();
ResultSet rs = stmt.executeQuery(query);
while (rs.next()) {
System.out.println("Name: " + rs.getString("name") + ", Age: " + rs.getInt("age"));
}
} catch (Exception e) {
e.printStackTrace();
}
}
}Para inserir dados em uma tabela, você pode usar o método insertInto e set:
import com.querybuilder.builder.QueryBuilder;
public class InsertExample {
public static void main(String[] args) {
QueryBuilder qb = new QueryBuilder("users");
String query = qb.insertInto("users")
.set("name", "John Doe")
.set("age", 30)
.build();
System.out.println(query);
// Saída: INSERT INTO users (name, age) VALUES (?, ?);
}
}Para atualizar dados em uma tabela, você pode usar o método update:
import com.querybuilder.builder.QueryBuilder;
import com.querybuilder.Enum.Operator;
public class UpdateExample {
public static void main(String[] args) {
QueryBuilder qb = new QueryBuilder("users");
String query = qb.update("name", "John Doe")
.where("id", Operator.EQUALS, 1)
.build();
System.out.println(query);
// Saída: UPDATE users SET name = ? WHERE id = ?;
}
}Para deletar dados de uma tabela, você pode usar o método delete:
import com.querybuilder.builder.QueryBuilder;
import com.querybuilder.Enum.Operator;
public class DeleteExample {
public static void main(String[] args) {
QueryBuilder qb = new QueryBuilder("users");
String query = qb.delete()
.where("id", Operator.EQUALS, 1)
.build();
System.out.println(query);
// Saída: DELETE FROM users WHERE id = ?;
}
}Se você deseja contribuir com o projeto, por favor, siga os passos abaixo:
- Faça um fork do repositório.
- Crie uma branch para sua feature (
git checkout -b feature/nova-feature). - Commit suas mudanças (
git commit -am 'Adiciona nova feature'). - Faça push para a branch (
git push origin feature/nova-feature). - Crie um Pull Request.
Este projeto está licenciado sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.