package mantra.sql.orm

QueryBuilder

CLASS public class

Fluent SQL query builder for constructing SELECT, WHERE, ORDER BY, LIMIT, and OFFSET statements for Mantra entities.

🏗️ Constructor Summary

Constructor Signature
static def from(table: String) -> QueryBuilder

⚙️ Method Summary

Modifier & Return Type Method Signature Description
QueryBuilder pub def select(columns: List) Selects specific column projections instead of universal '*' wildcard.
QueryBuilder pub def where_eq(col: String, val: String) Appends an equality WHERE condition predicate.
QueryBuilder pub def where_ne(col: String, val: String) Appends an inequality (!=) WHERE condition predicate.
QueryBuilder pub def where_gt(col: String, val: String) Appends a greater-than (>) WHERE condition predicate.
QueryBuilder pub def order_asc(col: String) Appends an ascending ORDER BY column clause.
QueryBuilder pub def order_desc(col: String) Appends a descending ORDER BY column clause.
QueryBuilder pub def limit(n: Int) Restricts maximum returned row count.
QueryBuilder pub def offset(n: Int) Skips the first n rows in the query result set.
String pub def build_select() Compiles builder state into a valid SQL SELECT query string.

🔍 Detailed Method Specifications

pub def select(columns: List) -> QueryBuilder
Selects specific column projections instead of universal '*' wildcard.
pub def where_eq(col: String, val: String) -> QueryBuilder
Appends an equality WHERE condition predicate.
pub def where_ne(col: String, val: String) -> QueryBuilder
Appends an inequality (!=) WHERE condition predicate.
pub def where_gt(col: String, val: String) -> QueryBuilder
Appends a greater-than (>) WHERE condition predicate.
pub def order_asc(col: String) -> QueryBuilder
Appends an ascending ORDER BY column clause.
pub def order_desc(col: String) -> QueryBuilder
Appends a descending ORDER BY column clause.
pub def limit(n: Int) -> QueryBuilder
Restricts maximum returned row count.
pub def offset(n: Int) -> QueryBuilder
Skips the first n rows in the query result set.
pub def build_select() -> String
Compiles builder state into a valid SQL SELECT query string.

💡 Example Usage

querybuilder_example.mantra
let q = QueryBuilder.from("users")
    .where_eq("role", "Admin")
    .order_asc("name")
    .limit(10)
    .build_select()
print(q)  # SELECT * FROM users WHERE role = 'Admin' ORDER BY name ASC LIMIT 10