frida_query_builder 1.0.0 copy "frida_query_builder: ^1.0.0" to clipboard
frida_query_builder: ^1.0.0 copied to clipboard

outdated

A dart library that helps you create SQLITE queries using statements and the builder design pattern.

example/frida_query_builder_example.dart

import 'package:frida_query_builder/frida_query_builder.dart';

void main() {
  final createStatement = Create(
    tableName: "students",
    columns: [
      Column(
        name: "student_id",
        type: ColumnDataType.integer,
        isAutoIncrement: true,
        isPrimaryKey: true,
      ),
      Column(
          name: "name",
          type: ColumnDataType.text,
          isNotNull: true,
          defaultValue: "2"),
      Column(
        name: "email",
        type: ColumnDataType.text,
        isNotNull: true,
      ),
    ],
  );

  final selectStatement = Select(from: "students", alias: "s", columns: [
    "name".field,
    "age".field,
    "gender".field,
    "Simple Text",
    22
  ]);

  final fridaQueryBuilder = FridaQueryBuilder(selectStatement);

  final queryString = fridaQueryBuilder.build();

  print(queryString);

  createSelectQuery();

  createComplexSelectQuery();

  print(
    FridaQueryBuilder(
      Update(
        table: "students",
        values: {"name": "Juan"},
        criteria: [Equals("name".field, "Felipe")],
      ),
    ).build(),
  );

  print(
    FridaQueryBuilder(
      Delete(
        table: "students",
        criteria: [
          Equals("name".field, "Felipe"),
        ],
      ),
    ).build(),
  );
}

void createSelectQuery() {
  //Select query
  print(
    FridaQueryBuilder(
      Select(
        from: "students",
      ),
    ).build(),
  );
  /* 
    Output:
    SELECT * FROM person
  */
}

void createComplexSelectQuery() {
// Select complex query
  print(
    FridaQueryBuilder(
      Select(
        from: "students",
        columns: [
          "s.name".field,
          "s.student_id",
          "s.email",
          '"Text" AS simpleText',
          2.field,
          2.22.field,
          "Text x2",
        ],
        joins: [
          Join(
            "student_classes",
            alias: "c",
            criteria: [
              Equals(
                "c.student_id".field,
                "s.student_id".field,
              ),
              NotEquals(
                Field("c.description"),
                "math",
              ),
            ],
          )
        ],
        alias: "s",
        limit: 2,
        offset: 3,
        orderBy: ["c.description"],
        criteria: [
          In(Field("s.name"), ["Felipe", "Juan"]),
          Or(
            [
              Equals("b", "b"),
              And([Equals("1", "1"), Equals("1", "1")])
            ],
          )
        ],
      ),
    ).build(),
  );
}
3
likes
0
points
606
downloads

Publisher

unverified uploader

Weekly Downloads

A dart library that helps you create SQLITE queries using statements and the builder design pattern.

Repository (GitHub)
View/report issues

License

unknown (license)

More

Packages that depend on frida_query_builder