成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

造輪子 - EGGJS的MySQL操作庫

Alex / 2019人閱讀

摘要:最近學(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

相關(guān)文章

  • React輪子:拖拽排序組件「Dragact」

    摘要:造輪子的一些思考首先,我們的需求是用戶能夠方便的調(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=...

    Charlie_Jade 評論0 收藏0
  • React輪子:拖拽排序組件「Dragact」

    摘要:造輪子的一些思考首先,我們的需求是用戶能夠方便的調(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=...

    yangrd 評論0 收藏0
  • React輪子:拖拽排序組件「Dragact」

    摘要:造輪子的一些思考首先,我們的需求是用戶能夠方便的調(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=...

    tracymac7 評論0 收藏0
  • Eggjs小試

    摘要:項(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ù)。...

    waltr 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<