摘要:最近學(xué)習(xí),學(xué)習(xí)過程中使用官方推薦的庫,感覺官方庫不太好用,基礎(chǔ)的沒問題。介紹這個(gè)輪子其實(shí)是很早以前就造好的,主要參考的數(shù)據(jù)庫操作方式。將設(shè)置表名設(shè)置查詢字段聯(lián)表等操作進(jìn)行鏈?zhǔn)讲僮鳎o人一種語義化操作數(shù)據(jù)庫的感覺。
最近學(xué)習(xí)eggjs,學(xué)習(xí)過程中使用官方推薦的MySQL庫,感覺官方庫不太好用,基礎(chǔ)的CURD沒問題。但是復(fù)雜點(diǎn)的操作就不行了,雖然官方還有一個(gè)egg-sequelize,但是這個(gè)這并不妨礙我造輪子。下面介紹一下我的這個(gè)輪子。
介紹這個(gè)輪子其實(shí)是很早以前就造好的,主要參考THINKPHP的數(shù)據(jù)庫操作方式。將設(shè)置表名(table)、設(shè)置查詢字段(field)、聯(lián)表(join)等操作進(jìn)行鏈?zhǔn)讲僮?,給人一種語義化操作數(shù)據(jù)庫的感覺。
比如從用戶表查找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 上,默認(rèn)開啟 app: true, // 是否加載到 agent 上,默認(rèn)關(guān)閉 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(); } }
這時(shí)候mysql就掛載到egg的app對象了,接下來就可以到處鏈?zhǔn)讲僮髁恕?/p> 推廣
@hyoga/egg-mysql依賴于@hyoga/mysql,項(xiàng)目地址如下,歡迎star,歡迎issue:
hyoga-egg-mysql
hyoga-mysql
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/109537.html
摘要:造輪子的一些思考首先,我們的需求是用戶能夠方便的調(diào)整后臺(tái)的各種表盤位置。內(nèi)的所有組件必須不能重疊,還要能自動(dòng)排序某些組件要可以設(shè)定靜態(tài)的,也就是固定在那里,不被布局的任何變動(dòng)而影響。為了快速獲得這種心態(tài)的轉(zhuǎn)變,你要做的就是造輪子。 先來一張圖看看: showImg(https://segmentfault.com/img/remote/1460000013305417?w=600&h=...
摘要:造輪子的一些思考首先,我們的需求是用戶能夠方便的調(diào)整后臺(tái)的各種表盤位置。內(nèi)的所有組件必須不能重疊,還要能自動(dòng)排序某些組件要可以設(shè)定靜態(tài)的,也就是固定在那里,不被布局的任何變動(dòng)而影響。為了快速獲得這種心態(tài)的轉(zhuǎn)變,你要做的就是造輪子。 先來一張圖看看: showImg(https://segmentfault.com/img/remote/1460000013305417?w=600&h=...
摘要:造輪子的一些思考首先,我們的需求是用戶能夠方便的調(diào)整后臺(tái)的各種表盤位置。內(nèi)的所有組件必須不能重疊,還要能自動(dòng)排序某些組件要可以設(shè)定靜態(tài)的,也就是固定在那里,不被布局的任何變動(dòng)而影響。為了快速獲得這種心態(tài)的轉(zhuǎn)變,你要做的就是造輪子。 先來一張圖看看: showImg(https://segmentfault.com/img/remote/1460000013305417?w=600&h=...
摘要:項(xiàng)目都很小,但為了進(jìn)一步了解,特意選擇了作為框架基礎(chǔ)開發(fā)后端服務(wù)。能將請求限制在同源網(wǎng)站,即只有擁有專有令牌的網(wǎng)站發(fā)送請求才會(huì)正確響應(yīng)。項(xiàng)目生產(chǎn)靜默部署,啟動(dòng)使用,停止使用。不足工具函數(shù)的訪問需要自己手動(dòng)添加擴(kuò)展另沒有寫測試,希望下次補(bǔ)上。 前言 這段時(shí)間,用Eggjs作為后端服務(wù)框架開發(fā)了幾個(gè)項(xiàng)目。項(xiàng)目都很小,但為了進(jìn)一步了解Eggjs,特意選擇了Eggjs作為框架基礎(chǔ)開發(fā)后端服務(wù)。...
閱讀 2044·2021-11-24 10:45
閱讀 1481·2021-11-18 13:15
閱讀 4611·2021-09-22 15:47
閱讀 3981·2021-09-09 11:36
閱讀 2034·2019-08-30 15:44
閱讀 3116·2019-08-29 13:05
閱讀 2529·2019-08-29 12:54
閱讀 2020·2019-08-26 13:47