Nest.js + TypeOrm:原始SQL查询及其参数绑定

发布时间 2023-06-09 15:02:30作者: develon

上一篇

Nest.js + TypeOrm:安装、编写实体类

参数化原始SQL查询

使用 DataSource,注意,如果是 PostgreSQL,则参数占位符不能使用问号 ?,只能使用 $n,并且在没有表名的情况下需要指定类型:

@Injectable()
export class PermissionsService {
    constructor(
        private readonly dataSource: DataSource,
    ) { }

    async check(id: number, body: CheckDTO) {
        let sql = `SELECT $1::int4`;
        let parameters = [];
        try {
            let [row1] = await this.dataSource.query(sql, parameters);
            console.log(row1);
        } catch(e) {
            // console.log(e);
        }
        return false;
    }
}