时间:2021-07-01 10:21:17 帮助过:101人阅读
1、在 egg 项目中安装 egg-mysql
- npm i egg-mysql --save
2、在 {app_root}/config/plugin.js 中启用 egg-mysql 插件:
- exports.mysql =<span style="color: #000000;"> {
- enable: </span><span style="color: #0000ff;">true</span><span style="color: #000000;">,
- package: </span>‘egg-mysql‘<span style="color: #000000;">,
- };</span>
3、在配置文件中配置 mysql 数据库连接地址 {app_root}/config/config.default.js
- exports.mysql =<span style="color: #000000;"> {
- </span><span style="color: #008000;">//</span><span style="color: #008000;"> database configuration </span>
- <span style="color: #000000;">client: {
- </span><span style="color: #008000;">//</span><span style="color: #008000;"> host</span>
- host: ‘mysql.com‘<span style="color: #000000;">,
- </span><span style="color: #008000;">//</span><span style="color: #008000;"> port</span>
- port: ‘3306‘<span style="color: #000000;">,
- </span><span style="color: #008000;">//</span><span style="color: #008000;"> username</span>
- user: ‘test_user‘<span style="color: #000000;">,
- </span><span style="color: #008000;">//</span><span style="color: #008000;"> password</span>
- password: ‘test_password‘<span style="color: #000000;">,
- </span><span style="color: #008000;">//</span><span style="color: #008000;"> database</span>
- database: ‘test‘<span style="color: #000000;">,
- },
- </span><span style="color: #008000;">//</span><span style="color: #008000;"> load into app, default is open </span>
- app: <span style="color: #0000ff;">true</span><span style="color: #000000;">,
- </span><span style="color: #008000;">//</span><span style="color: #008000;"> load into agent, default is close </span>
- agent: <span style="color: #0000ff;">false</span><span style="color: #000000;">,
- };</span>
二、egg-mysql 的使用
1、查找数据的第一种方式
- const result = await <span style="color: #0000ff;">this</span>.app.mysql.get(‘user‘, { id: 2 });
2、查找数据的另一种方式
- const result = await <span style="color: #0000ff;">this</span>.app.mysql.select(‘user‘<span style="color: #000000;">,{
- where: { id: </span>‘3‘<span style="color: #000000;"> },
- </span><span style="color: #008000;">//</span><span style="color: #008000;"> orders: [[‘created_at‘,‘desc‘], [‘id‘,‘desc‘]], </span>
- limit: 10<span style="color: #000000;">,
- offset: </span>0<span style="color: #000000;">
- });</span>
3、增加数据
- const result = await <span style="color: #0000ff;">this</span>.app.mysql.insert(‘user‘, { username: ‘赵四‘,‘password‘:‘223423‘ });
4、修改数据的第一种方式:根据主键修改
- const row = { id: 7<span style="color: #000000;">,
- username: </span>‘赵四‘<span style="color: #000000;"> };
- const result </span>= await <span style="color: #0000ff;">this</span>.app.mysql.update(‘user‘, row);
5、修改数据的第二种方式:通过 sql 来修改数据
- const results = await <span style="color: #0000ff;">this</span>.app.mysql.query(‘update user set username = ? where id = ?‘, [6666, 8]);
6、删除数据
- const result =await <span style="color: #0000ff;">this</span>.app.mysql.<span style="color: #0000ff;">delete</span>(‘user‘, { username: ‘赵四‘<span style="color: #000000;">
- });</span>
7、执行 sql
- app.mysql.query(sql, values);
8、mysql 事务
- const conn = await <span style="color: #0000ff;">this</span>.app.mysql.beginTransaction(); <span style="color: #0000ff;">try</span><span style="color: #000000;"> {
- await conn.insert(</span>‘user‘, { ‘username‘: ‘hahahh‘,‘password‘:‘223423‘ }); <br> const row = { id: 8,username: ‘王麻子‘<span style="color: #000000;">};
- await conn.update(</span>‘user‘<span style="color: #000000;">, row);
- await conn.commit();
- } </span><span style="color: #0000ff;">catch</span><span style="color: #000000;"> (err) {
- await conn.rollback(); </span><span style="color: #008000;">//</span><span style="color: #008000;"> rollback call won‘t throw err</span>
- <span style="color: #0000ff;"> throw</span> err; <br>}
egg.js 中使用 egg-mysql 操作 mysql 数据库
标签:配置 column tab const agent def nbsp 插件 commit