{"id":21195190,"url":"https://github.com/plarun/sql-query-builder","last_synced_at":"2025-12-29T17:45:44.696Z","repository":{"id":50650614,"uuid":"519728223","full_name":"plarun/sql-query-builder","owner":"plarun","description":"SQL Query builder","archived":false,"fork":false,"pushed_at":"2022-08-01T05:46:03.000Z","size":96,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-21T14:14:30.595Z","etag":null,"topics":["java8","parametrized","query-builder","sql"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/plarun.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-07-31T09:12:02.000Z","updated_at":"2025-01-01T07:35:36.000Z","dependencies_parsed_at":"2022-09-22T01:52:27.965Z","dependency_job_id":null,"html_url":"https://github.com/plarun/sql-query-builder","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/plarun%2Fsql-query-builder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/plarun%2Fsql-query-builder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/plarun%2Fsql-query-builder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/plarun%2Fsql-query-builder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/plarun","download_url":"https://codeload.github.com/plarun/sql-query-builder/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243652420,"owners_count":20325575,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java8","parametrized","query-builder","sql"],"created_at":"2024-11-20T19:26:28.539Z","updated_at":"2025-12-29T17:45:44.668Z","avatar_url":"https://github.com/plarun.png","language":"Java","readme":"# SQL Query Builder\nIt helps to build parameterized SQL query statement.\n\n## MySql Query Builder\n```java\nMysqlBuilder mysql = new MysqlBuilder();\n```\n---\n## Select `statement`\n```java\nSelectStmt stmt = mysql.select()\n    .columns(\"name\", \"age\", \"mail\")\n    .from(\"customer\")\n    .where(cond -\u003e cond.isTrue(\"is_active\")\n            .orWrap().gt(\"last_action\"))\n    .order(\"name\")\n    .limit(10);\n```\n```mysql\nSelect name, age, mail\n        From customer\n        Where (is_active Is TRUE) Or (last_action \u003e ?)\n        Order By name\n        Limit 10\n```\n```java\nSelectStmt stmt = mysql.select()\n    .columns(\"city\", \"town\", \"Count(*)\")\n    .from(\"address\")\n    .where(cond -\u003e cond.eq(\"country\").and().in(\"state\", 5))\n    .group(\"city\", \"town\")\n    .having(cond -\u003e cond.gt(\"Count(*)\"))\n    .order(\"Count(*) Desc\");\n```\n```mysql\nSelect city, town, Count(*) \n        From address \n        Where country = ? \n                And state In (?,?,?,?,?) \n        Group By city, town \n        Having Count(*) \u003e ? \n        Order By Count(*) Desc\n```\n---\n## Update `statement`\n```java\nUpdateStmt stmt = mysql.update()\n        .table(\"customer\")\n        .set(\"age\", \"mail\")\n        .where(cond -\u003e cond.eq(\"name\").and().eq(\"id\"));\n```\n```mysql\nUpdate customer\n        Set age = ?, mail = ?\n        Where name = ? \n                And id = ?\n```\n```java\nUpdateStmt stmt = mysql.update()\n        .table(ref -\u003e ref.tbl(\"address\", \"addr\")\n                .innerJoinUsing(\"customer\", \"cust\", using -\u003e using.columns(\"addr_id\")))\n        .set(\"addr.town\")\n        .where(cond -\u003e cond.eq(\"cust.id\"));\n```\n```mysql\nUpdate address addr\n        Inner Join customer cust Using (addr_id)\n        Set addr.town = ?\n        Where cust.id = ?\n```\n---\n## Delete `statement`\n```java\nDeleteStmt stmt1 = mysql.delete()\n        .from(\"customer\")\n        .where(cond -\u003e cond.eq(\"name\").and().eq(\"id\"));\n```\n```mysql\nDelete\n        From customer\n        Where name = ? \n                And id = ?\n```\n```java\nDeleteStmt stmt2 = mysql.delete()\n        .ref(\"cust\", \"addr\")\n        .from(ref -\u003e ref.tbl(\"customer\", \"cust\")\n                .innerJoin(\"cust_address\", \"addr\"))\n        .where(cond -\u003e cond.eq(\"cust.addr_id\", \"addr.id\")\n                .and().eq(\"cust.id\"));\n```\n```mysql\nDelete cust, addr\n        From customer cust\n        Inner Join cust_address addr\n        Where cust.addr_id = addr.id\n                And cust.id = ?\n```\n---\n## Insert `statement`\n```java\nInsertStmt stmt1 = mysql.insert()\n        .into(\"schema\", \"customer\")\n        .columns(\"id\", \"name\", \"age\", \"email\", \"gender\")\n        .rows(3);\n```\n```mysql\nInsert Into schema.customer (id, name, age, email, gender)\n        Values (?, ?, ?, ?, ?), \n                (?, ?, ?, ?, ?), \n                (?, ?, ?, ?, ?)\n```\n```java\nInsertStmt stmt1 = mysql.insert()\n        .into(\"customer\")\n        .columns(5)\n        .rows(3);\n```\n```mysql\nInsert Into customer\n        Values (?, ?, ?, ?, ?), \n                (?, ?, ?, ?, ?), \n                (?, ?, ?, ?, ?)\n```\n## With `clause`\n```java\nSelectstmt stmt = mysql.with()\n        .as(\"indian\", select -\u003e select\n                .columns(\"*\")\n                .from(\"states\")\n                .where(cond -\u003e cond.eq(\"country\")))\n        .as(\"frequent\", select -\u003e select\n                .columns(\"*\")\n                .from(\"activity\")\n                .where(cond -\u003e cond.gt(\"frequency\")))\n        .select()\n        .columns(\"c.name\", \"i.state\", \"f.last_activity\")\n        .from(ref -\u003e ref\n                .tbl(\"customer\", \"c\")\n                .innerJoinUsing(\"indian\", \"i\", using -\u003e using.columns(\"state_id\"))\n                .innerJoinUsing(\"frequent\", \"f\", using -\u003e using.columns(\"act_id\")));\n```\n```mysql\nWith\n        indian As (Select * From states Where country = ?), \n        frequent As (Select * From activity Where frequency \u003e ?) \nSelect c.name, i.state, f.last_activity \n        From customer c \n        Inner Join indian i Using (state_id) \n        Inner Join frequent f Using (act_id)\n```","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplarun%2Fsql-query-builder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fplarun%2Fsql-query-builder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplarun%2Fsql-query-builder/lists"}