查询数据
Db()
可以通过 Db()
去指定表和数据源,接收两个参数。
注意:
select()
findOne()
count()
这种执行查询动作的要放到链路的末尾。insert()
insertAll()
update()
decr()
incr()
delete()
这种增删改动作的也要放到链路的末尾。- 以上这些动作均可以通过传入参数来控制是否打印当前的SQL语句到控制台,例如:
findOne(true)
, 具体怎么传请看对应的文档说明 - 增删改查等均为
Promise
在使用时请注意async await
- @param
tableName
表名 - @param
config
数据源,传入一个对象
const mysqlConfig = {
host: '123.56.82.75',
port: 3306,
user: 'think-sso',
password: 'dcGLEpj5JZReztBw',
database: 'think-sso'
}
const mysqlConfig = {
host: '123.56.82.75',
port: 3306,
user: 'think-sso',
password: 'dcGLEpj5JZReztBw',
database: 'think-sso'
}
查询一条数据 findOne()
(isShowSql: boolean = false)
import { Db } from 'think-ts-db'
export default defineEventHandler(async (event) => {
const user = await Db('user', mysqlConfig).where('age', '>', 10).findOne()
return user
})
import { Db } from 'think-ts-db'
export default defineEventHandler(async (event) => {
const user = await Db('user', mysqlConfig).where('age', '>', 10).findOne()
return user
})
最终生成的SQL语句为:
SELECT * FROM user WHERE age > 10 LIMIT 1
SELECT * FROM user WHERE age > 10 LIMIT 1
查询数据集 select()
(isShowSql: boolean = false)
import { Db } from 'think-ts-db'
export default defineEventHandler(async (event) => {
const user = await Db('user', mysqlConfig).where('age', 10).select()
return user
})
import { Db } from 'think-ts-db'
export default defineEventHandler(async (event) => {
const user = await Db('user', mysqlConfig).where('age', 10).select()
return user
})
最终生成的SQL语句为:
SELECT * FROM user WHERE age = 10
SELECT * FROM user WHERE age = 10
多数据源查询
Db('user', mysqlConfig1).where('age', '>', 10).findOne()
Db('user', mysqlConfig2).where('age', '>', 10).findOne()
Db('user', mysqlConfig1).where('age', '>', 10).findOne()
Db('user', mysqlConfig2).where('age', '>', 10).findOne()