egg.js中Egg-MySQL如何使用,相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。
十年建站經(jīng)驗(yàn), 做網(wǎng)站、網(wǎng)站制作客戶的見(jiàn)證與正確選擇。創(chuàng)新互聯(lián)提供完善的營(yíng)銷(xiāo)型網(wǎng)頁(yè)建站明細(xì)報(bào)價(jià)表。后期開(kāi)發(fā)更加便捷高效,我們致力于追求更美、更快、更規(guī)范。
需要使用egg提供的一個(gè)egg-mysql插件來(lái)進(jìn)行數(shù)據(jù)庫(kù)交互,所以
首先安裝egg-mysql npm包,執(zhí)行命令:
$ npm i --save egg-mysql
然后在項(xiàng)目插件配置文件中開(kāi)啟插件
// config/plugin.jsexports.mysql = { enable: true,// 開(kāi)啟 package: 'egg-mysql', // 對(duì)應(yīng)哪個(gè)包};
接下來(lái)就需要配置數(shù)據(jù)庫(kù)賬號(hào)等信息了,egg提供一種多環(huán)境配置,就是咱即可以配置自己本地的數(shù)據(jù)庫(kù)信息,也可以配置測(cè)試環(huán)境、線上環(huán)境數(shù)據(jù)庫(kù)信息,只需要再config下創(chuàng)建config.${env}.js文件即可,比如config.location.js為我本地配置,config.prod.js為線上環(huán)境,然后在config/env文件內(nèi)指定運(yùn)行環(huán)境即可。
當(dāng)然也可以默認(rèn)都用一個(gè)配置。我用config/config.default.js來(lái)作為默認(rèn)配置文件。
// mysqlconfig.mysql = {client: {// host host: 'localhost',// 端口號(hào) port: '3306',// 用戶名 user: 'root',// 密碼 password: 'root',// 數(shù)據(jù)庫(kù)名 database: 'test',},// 是否加載到 app 上,默認(rèn)開(kāi)啟 app: true,// 是否加載到 agent 上,默認(rèn)關(guān)閉 agent: false,}
如何在項(xiàng)目中增刪改查呢?你可以直接在controller里邊直接這樣用,不過(guò)建議自己寫(xiě)一個(gè)service來(lái)過(guò)度下業(yè)務(wù)
get 查詢單條信息
let user = await this.app.mysql.get('users', { id: 1 });
2. select 查詢多條數(shù)據(jù)
let users= await this.app.mysql.select('users');
3. select 有條件的查詢,蛋疼的是,他的條件只支持=和in,真雞兒,想自定義還需要用query
let users = await this.app.mysql.select('users', {where: {name: ['test', 'test1'], // 相當(dāng)于 in },order: [['created_at', 'desc'], ['state', 'desc']]});
4. query 直接執(zhí)行sql語(yǔ)句,為了防止sql注入,采用這種每個(gè)?匹配一個(gè)元素的方式
let users = await this.app.mysql.query('select * from users where id > ? and state <> ? and phone is not null', [100, 0]);
5. insert 插入數(shù)據(jù)
let res = await this.app.mysql.insert('users', {name: 'egg',phone: 'xxxxxx'});let id = res.insertId; // 得到新插入的數(shù)據(jù)主鍵
6. update 更新數(shù)據(jù)
// 更新id=1的用戶信息let res = await this.app.mysql.update('users', {name: 'egg',phone: 'xxxxxx'}, {id: 1,});
7. delete 刪除數(shù)據(jù)
let res = await this.app.mysql.delete('users', {id: 1,});
看完上述內(nèi)容,你們掌握egg.js中Egg-mysql如何使用的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
網(wǎng)站名稱:egg.js中Egg-mysql如何使用
當(dāng)前網(wǎng)址:http://www.rwnh.cn/article14/jiphde.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)、電子商務(wù)、微信小程序、小程序開(kāi)發(fā)、品牌網(wǎng)站建設(shè)、微信公眾號(hào)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)