国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

造輪子 - EGGJS的MySQL操作庫

Alex / 1985人閱讀

摘要:最近學習,學習過程中使用官方推薦的庫,感覺官方庫不太好用,基礎的沒問題。介紹這個輪子其實是很早以前就造好的,主要參考的數據庫操作方式。將設置表名設置查詢字段聯表等操作進行鏈式操作,給人一種語義化操作數據庫的感覺。

最近學習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

相關文章

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

    摘要:造輪子的一些思考首先,我們的需求是用戶能夠方便的調整后臺的各種表盤位置。內的所有組件必須不能重疊,還要能自動排序某些組件要可以設定靜態的,也就是固定在那里,不被布局的任何變動而影響。為了快速獲得這種心態的轉變,你要做的就是造輪子。 先來一張圖看看: showImg(https://segmentfault.com/img/remote/1460000013305417?w=600&h=...

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

    摘要:造輪子的一些思考首先,我們的需求是用戶能夠方便的調整后臺的各種表盤位置。內的所有組件必須不能重疊,還要能自動排序某些組件要可以設定靜態的,也就是固定在那里,不被布局的任何變動而影響。為了快速獲得這種心態的轉變,你要做的就是造輪子。 先來一張圖看看: showImg(https://segmentfault.com/img/remote/1460000013305417?w=600&h=...

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

    摘要:造輪子的一些思考首先,我們的需求是用戶能夠方便的調整后臺的各種表盤位置。內的所有組件必須不能重疊,還要能自動排序某些組件要可以設定靜態的,也就是固定在那里,不被布局的任何變動而影響。為了快速獲得這種心態的轉變,你要做的就是造輪子。 先來一張圖看看: showImg(https://segmentfault.com/img/remote/1460000013305417?w=600&h=...

    tracymac7 評論0 收藏0
  • Eggjs小試

    摘要:項目都很小,但為了進一步了解,特意選擇了作為框架基礎開發后端服務。能將請求限制在同源網站,即只有擁有專有令牌的網站發送請求才會正確響應。項目生產靜默部署,啟動使用,停止使用。不足工具函數的訪問需要自己手動添加擴展另沒有寫測試,希望下次補上。 前言 這段時間,用Eggjs作為后端服務框架開發了幾個項目。項目都很小,但為了進一步了解Eggjs,特意選擇了Eggjs作為框架基礎開發后端服務。...

    waltr 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<