一个简单的mysql语句构建工具
前阵子接触了thinkPHP,感觉它的thinkorm挺实用的,用typescript模仿了一个, 用了段时间感觉能提高点效率哈
// select
const users = await db.table('user').where({ name: 'jake' }).order('age', 'desc').select();
const users = await db.table('user').where('name = ?', ['jake']).limit(10, 20).select();
const user = await db.table('user').where({ name: 'jake' }).field('name', 'age').find();
const user = await db.table('user').where({ name: 'jake' }).findOrEmpty();
// insert
await db.table('user').insert({ name: 'jake', age: '22' });
await db.table('user').insert([{ name: 'jake', age: '22' }, { name: 'jake', age: '22' }]);
// update
await db.table('user').where({ name: 'jake' }).update({ name: 'new name' });
// delete
await db.table('user').where({ name: 'jake' }).delete();
// transaction
const tx = await db.beginTx();
try {
await tx.table('user').insert({ name: 'jake' });
await tx.table('user').where({ name: 'jake' }).update({ name: 'new name' });
await tx.commit();
} catch (error) {
await tx.rollback();
}
// row query
const result = await db.query(`SELECT * FROM user U LEFT JOIN user_roles UR ON UR.user_id = U.id WHERE U.type = ?`, ['type']);
2 回复
有更好用的 typeorm https://github.com/typeorm/typeorm
superdb 了解一下: https://yarnpkg.com/zh-Hans/package/superdb