摘要:最近学习,学习过程中使用官方推荐的库,感觉官方库不太好用,基础的没问题。介绍这个轮子其实是很早以前就造好的,主要参考的数据库操作方式。将设置表名设置查询字段联表等操作进行链式操作,给人一种语义化操作数据库的感觉。
最近学习eggjs,学习过程中使用官方推荐的MySQL库,感觉官方库不太好用,基础的CURD没问题。但是复杂点的操作就不行了,虽然官方还有一个egg-sequelize,但是这个这并不妨碍我造轮子。下面介绍一下我的这个轮子。
介绍这个轮子其实是很早以前就造好的,主要参考THINKPHP的数据库操作方式。将设置表名(table)、设置查询字段(field)、联表(join)等操作进行链式操作,给人一种语义化操作数据库的感觉。
比如从用户表查找id为1的用户的名字,则只需要这样操作:
mysql.table("user").field("name").where({ id: 1 }).find(); // SELECT name FROM user where id=1 limit 1
是不是很简单呢?
造的轮子名字叫@hyoga/egg-mysql,所以只需要:
安装npm i @hyoga/egg-mysql --save配置
// {app_root}/config/config.default.js exports.mysql = { mysql: { client: { host: "127.0.0.1", port: "3306", user: "root", password: "", database: "db", }, // 是否加载到 app 上,默认开启 app: true, // 是否加载到 agent 上,默认关闭 agent: false, }, };使用
// {app_root}/config/plugin.js exports.mysql = { enable: true, package: "@hyoga/egg-mysql", }; // {app_root}/app/service/user.js export default class User extends Service { private table = "user"; public async list() { // sql = SELECT * FROM user WHERE status = 1 return this.app.mysql.table(this.table).where({ status: 1 }).select(); } }
这时候mysql就挂载到egg的app对象了,接下来就可以到处链式操作了。
推广@hyoga/egg-mysql依赖于@hyoga/mysql,项目地址如下,欢迎star,欢迎issue:
hyoga-egg-mysql
hyoga-mysql
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/109537.html
摘要:造轮子的一些思考首先,我们的需求是用户能够方便的调整后台的各种表盘位置。内的所有组件必须不能重叠,还要能自动排序某些组件要可以设定静态的,也就是固定在那里,不被布局的任何变动而影响。为了快速获得这种心态的转变,你要做的就是造轮子。 先来一张图看看: showImg(https://segmentfault.com/img/remote/1460000013305417?w=600&h=...
摘要:造轮子的一些思考首先,我们的需求是用户能够方便的调整后台的各种表盘位置。内的所有组件必须不能重叠,还要能自动排序某些组件要可以设定静态的,也就是固定在那里,不被布局的任何变动而影响。为了快速获得这种心态的转变,你要做的就是造轮子。 先来一张图看看: showImg(https://segmentfault.com/img/remote/1460000013305417?w=600&h=...
摘要:造轮子的一些思考首先,我们的需求是用户能够方便的调整后台的各种表盘位置。内的所有组件必须不能重叠,还要能自动排序某些组件要可以设定静态的,也就是固定在那里,不被布局的任何变动而影响。为了快速获得这种心态的转变,你要做的就是造轮子。 先来一张图看看: showImg(https://segmentfault.com/img/remote/1460000013305417?w=600&h=...
阅读 1947·2021-11-24 10:45
阅读 1451·2021-11-18 13:15
阅读 4523·2021-09-22 15:47
阅读 3900·2021-09-09 11:36
阅读 2005·2019-08-30 15:44
阅读 3080·2019-08-29 13:05
阅读 2494·2019-08-29 12:54
阅读 1985·2019-08-26 13:47