欢迎光临BDM
一枚菜鸟码农的成仙之路

【BDM-ORM】一款链式 SQL 查询的 SQL 拼接器

最近正在开发的一个 ORM 模块,提供如下的链式 SQL 查询的方式:

List<BaseModel> sql = Table.select("person.*")
        .from(Table.select("name", "id")
                .from(Person.class), "person")
        .leftJoin(PersonInfo.class, "person.id", "pi.id", "pi")
        .where(Where.init("person.name", "=", "xiaoMing")
                .orWhere("person.id", "=", "1"))
        .andWhere("pi.password", "!=", null)
        .andWhere("person.id", "=",
                Table.select("id")
                        .from("person")
                        .where("person.id", "=", "1"))
        .get();

你会得到下列查询 SQL 产生的结果(MySQL)。

SELECT
    person.*
FROM (
    SELECT
        name, id
    FROM person
) person
LEFT JOIN person_info pi ON person.id = pi.id
WHERE (
    person.name = 'xiaoMing'
    AND person.id = '1'
)
AND pi.password IS NOT NULL
AND person.id = (
    SELECT
        id
    FROM person
    WHERE person.id = '1'
)

更多信息移步至 http://git.huangluyu.com/huangluyu/bdmorm 进行查看

本文遵守知识共享署名-相同方式共享 4.0 国际许可协议,未经允许不得转载BigDickMan » 【BDM-ORM】一款链式 SQL 查询的 SQL 拼接器

相关推荐

  • 暂无文章

评论 1

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    alert(‘sss’)

    11周前 (12-05)回复

联系我们GitHub