热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

egg.js中Egg-mysql如何使用

egg.js中Egg-mysql如何使用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。需

egg.js中Egg-mysql如何使用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

需要使用egg提供的一个egg-mysql插件来进行数据库交互,所以

首先安装egg-mysql npm包,执行命令:

$ npm i --save egg-mysql

然后在项目插件配置文件中开启插件

// config/plugin.jsexports.mysql = {
  enable: true,// 开启  package: 'egg-mysql', // 对应哪个包};

配置

接下来就需要配置数据库账号等信息了,egg提供一种多环境配置,就是咱即可以配置自己本地的数据库信息,也可以配置测试环境、线上环境数据库信息,只需要再config下创建config.${env}.js文件即可,比如config.location.js为我本地配置,config.prod.js为线上环境,然后在config/env文件内指定运行环境即可。

当然也可以默认都用一个配置。我用config/config.default.js来作为默认配置文件。

// mysqlconfig.mysql = {client: {// host        host: 'localhost',// 端口号        port: '3306',// 用户名        user: 'root',// 密码        password: 'root',// 数据库名        database: 'test',},// 是否加载到 app 上,默认开启    app: true,// 是否加载到 agent 上,默认关闭    agent: false,}

使用

如何在项目中增删改查呢?你可以直接在controller里边直接这样用,不过建议自己写一个service来过度下业务

  1. get 查询单条信息

let user = await this.app.mysql.get('users', { id: 1 });

2. select 查询多条数据

let users= await this.app.mysql.select('users');

3. select 有条件的查询,蛋疼的是,他的条件只支持=和in,真鸡儿,想自定义还需要用query

let users = await this.app.mysql.select('users', {where: {name: ['test', 'test1'], // 相当于 in    },order: [['created_at', 'desc'], ['state', 'desc']]});

4. query 直接执行sql语句,为了防止sql注入,采用这种每个?匹配一个元素的方式

let users = await this.app.mysql.query(&#39;select * from users where id > ? and state <> ? and phone is not null&#39;, [100, 0]);

5. insert 插入数据

let res = await this.app.mysql.insert(&#39;users&#39;, {name: &#39;egg&#39;,phone: &#39;xxxxxx&#39;});let id = res.insertId; // 得到新插入的数据主键

6. update 更新数据

// 更新id=1的用户信息let res = await this.app.mysql.update(&#39;users&#39;, {name: &#39;egg&#39;,phone: &#39;xxxxxx&#39;}, {id: 1,});

7. delete 删除数据

let res = await this.app.mysql.delete(&#39;users&#39;, {id: 1,});

看完上述内容,你们掌握egg.js中Egg-mysql如何使用的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程笔记行业资讯频道,感谢各位的阅读!


推荐阅读
author-avatar
手机用户2502931101
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有