1.4.2 • Published 4 years ago

@wolfx/x-sql v1.4.2

Weekly downloads
1
License
MIT
Repository
-
Last release
4 years ago

example

待优化 for 里面不能再嵌套其他标签。

<root namespace="test">
    <query name="getUser">
        select * from user where 1=1
        <if condition="@flag === 1">
            and name = @name
            and id in (
            <for separator="," array="idList">
                @id
            </for>
            )
        </if>
    </query>
</root>

注意:如果不希望自动判断变量类型,使用 @@param 代替 @param

const path = require("path");
const Builder = require("@wolfx/x-sql").default;

const builder = new Builder({
  dir: path.resolve(__dirname, "./xml"),
  debug: true,
  debugCallback: log => {
    console.log(log);
  },
});

const result = builder.build("test", "getUser", {
  flag: 1,
  name: "wolfx",
  idList: [
    {
      id: 3,
    },
    {
      id: 5,
    },
  ],
});
console.log(result);

简易 API

interface SimpleBuilder {
  MYSQL: string;
  MSSQL: string;
  NONE: string;
  setDialect(value: string): void;
  escapeId(value: string): string;
  select(table: string, cols: string[], whereObject: any, op: string = "AND", orderBy?: string, limit?: number[]): string;
  count(table: string, whereObject: any, op: string = "AND"): string;
  insert(table: string, data: any): string;
  update(table: string, data: any, whereObject: any, op: string = "AND"): string;
  delete(table: string, whereObject: any, op: string = "AND"): string;
}
Builder.setDialect(Builder.MYSQL);
console.log(Builder.select("user", ["name", "age"], { id: 1, name: "wolfx" }));
console.log(Builder.count("user", {}));
console.log(Builder.insert("user", { id: 1, name: "wolfx" }));
console.log(Builder.update("user", { id: 1, name: "wolfx" }, { id: 2, name: "wolfx2" }));
console.log(Builder.delete("user", { id: 2, name: "wolfx2" }));
1.4.2

4 years ago

1.4.1

4 years ago

1.4.0

5 years ago

1.3.2

5 years ago

1.3.1

5 years ago

1.3.0

5 years ago

1.2.7

5 years ago

1.2.6

5 years ago

1.2.5

5 years ago

1.2.4

5 years ago

1.2.3

5 years ago

1.2.1

5 years ago

1.2.0

5 years ago

1.1.0

5 years ago

1.0.6-alpha

5 years ago

1.0.5-alpha

5 years ago

1.0.4-alpha

5 years ago

1.0.3-alpha

5 years ago

1.0.2-alpha

5 years ago

1.0.1-alpha4

5 years ago

1.0.1-alpha3

5 years ago

1.0.1-alpha2

5 years ago

1.0.1-alpha

5 years ago