摘要:最近學習,學習過程中使用官方推薦的庫,感覺官方庫不太好用,基礎的沒問題。介紹這個輪子其實是很早以前就造好的,主要參考的數據庫操作方式。將設置表名設置查詢字段聯表等操作進行鏈式操作,給人一種語義化操作數據庫的感覺。
最近學習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
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/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=...
閱讀 1948·2021-11-24 10:45
閱讀 1452·2021-11-18 13:15
閱讀 4524·2021-09-22 15:47
閱讀 3901·2021-09-09 11:36
閱讀 2006·2019-08-30 15:44
閱讀 3080·2019-08-29 13:05
閱讀 2495·2019-08-29 12:54
閱讀 1986·2019-08-26 13:47