当前位置:Gxlcms > 数据库问题 > egg.js 中使用 egg-mysql 操作 mysql 数据库

egg.js 中使用 egg-mysql 操作 mysql 数据库

时间:2021-07-01 10:21:17 帮助过:101人阅读

1、在 egg 项目中安装 egg-mysql

  1. npm i egg-mysql --save

2、在 {app_root}/config/plugin.js 中启用 egg-mysql 插件:

  1. exports.mysql =<span style="color: #000000;"> {
  2. enable: </span><span style="color: #0000ff;">true</span><span style="color: #000000;">,
  3. package: </span>‘egg-mysql‘<span style="color: #000000;">,
  4. };</span>

3、在配置文件中配置 mysql 数据库连接地址 {app_root}/config/config.default.js

 

  1. exports.mysql =<span style="color: #000000;"> {
  2. </span><span style="color: #008000;">//</span><span style="color: #008000;"> database configuration </span>
  3. <span style="color: #000000;">client: {
  4. </span><span style="color: #008000;">//</span><span style="color: #008000;"> host</span>
  5. host: ‘mysql.com‘<span style="color: #000000;">,
  6. </span><span style="color: #008000;">//</span><span style="color: #008000;"> port</span>
  7. port: ‘3306‘<span style="color: #000000;">,
  8. </span><span style="color: #008000;">//</span><span style="color: #008000;"> username</span>
  9. user: ‘test_user‘<span style="color: #000000;">,
  10. </span><span style="color: #008000;">//</span><span style="color: #008000;"> password</span>
  11. password: ‘test_password‘<span style="color: #000000;">,
  12. </span><span style="color: #008000;">//</span><span style="color: #008000;"> database</span>
  13. database: ‘test‘<span style="color: #000000;">,
  14. },
  15. </span><span style="color: #008000;">//</span><span style="color: #008000;"> load into app, default is open </span>
  16. app: <span style="color: #0000ff;">true</span><span style="color: #000000;">,
  17. </span><span style="color: #008000;">//</span><span style="color: #008000;"> load into agent, default is close </span>
  18. agent: <span style="color: #0000ff;">false</span><span style="color: #000000;">,
  19. };</span>

 

二、egg-mysql 的使用

1、查找数据的第一种方式

  1. const result = await <span style="color: #0000ff;">this</span>.app.mysql.get(‘user‘, { id: 2 });

2、查找数据的另一种方式

  1. const result = await <span style="color: #0000ff;">this</span>.app.mysql.select(‘user‘<span style="color: #000000;">,{
  2. where: { id: </span>‘3‘<span style="color: #000000;"> },
  3. </span><span style="color: #008000;">//</span><span style="color: #008000;"> orders: [[‘created_at‘,‘desc‘], [‘id‘,‘desc‘]], </span>
  4. limit: 10<span style="color: #000000;">,
  5. offset: </span>0<span style="color: #000000;">
  6. });</span>

3、增加数据

  1. const result = await <span style="color: #0000ff;">this</span>.app.mysql.insert(‘user‘, { username: ‘赵四‘,‘password‘:‘223423‘ });

4、修改数据的第一种方式:根据主键修改

  1. const row = { id: 7<span style="color: #000000;">,
  2. username: </span>‘赵四‘<span style="color: #000000;"> };
  3. const result </span>= await <span style="color: #0000ff;">this</span>.app.mysql.update(‘user‘, row);

5、修改数据的第二种方式:通过 sql 来修改数据

  1. const results = await <span style="color: #0000ff;">this</span>.app.mysql.query(‘update user set username = ? where id = ?‘, [6666, 8]);

6、删除数据

  1. const result =await <span style="color: #0000ff;">this</span>.app.mysql.<span style="color: #0000ff;">delete</span>(‘user‘, { username: ‘赵四‘<span style="color: #000000;">
  2. });</span>

7、执行 sql

  1. app.mysql.query(sql, values);

8mysql 事务

  1. const conn = await <span style="color: #0000ff;">this</span>.app.mysql.beginTransaction(); <span style="color: #0000ff;">try</span><span style="color: #000000;"> {
  2.   await conn.insert(</span>‘user‘, { ‘username‘: ‘hahahh‘,‘password‘:‘223423‘ }); <br>  const row = { id: 8,username: ‘王麻子‘<span style="color: #000000;">};
  3.   await conn.update(</span>‘user‘<span style="color: #000000;">, row);
  4.   await conn.commit();
  5. } </span><span style="color: #0000ff;">catch</span><span style="color: #000000;"> (err) {
  6.   await conn.rollback(); </span><span style="color: #008000;">//</span><span style="color: #008000;"> rollback call won‘t throw err</span>
  7. <span style="color: #0000ff;">  throw</span> err; <br>}

 

 

egg.js 中使用 egg-mysql 操作 mysql 数据库

标签:配置   column   tab   const   agent   def   nbsp   插件   commit   

人气教程排行