技术解析

JavaScript 怎么写 SQL 好?
0
2021-09-03 04:47:54
idczone

使用 JavaScript 的模版字符串可以比较方便的写多行的 SQL

const res = await db.query(`
SELECT *
FROM foo
WHERE foo.bar = 'baz'
`)

但是遇到 SQL 里面的反引号符号怎么处理呢?

const res = await db.query(`
SELECT \`name\`, \`privilege\`
FROM \`user\`
`)

还是要自己处理转义,一下很不直观了,说到底还是 JavaScript 不支持 Raw String,有没有什么比较好的解决方案呢?


https://stackoverflow.com/questions/31822891/how-to-build-dynamic-query-by-binding-parameters-in-node-js-sql

无用的答案

https://coderwall.com/p/yzwxyw/write-multiline-mysql-queries-in-javascript-using-sql-tag

为什么不用 orm 呢?

sequelize, 特殊情况下才自己拼接。或者 knexjs 之类的工具。

orm

https://github.com/PeterMu/nodebatis

https://github.com/lusakasa/sqorn/blob/master/README.md

SQL 中会有反引号的好像是 MySQL 特有的吧,PostgreSQL 似乎是用双引号的。

很有想法,用预处理

MyBatis 还魂
数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服