在egg中,使用mysql需要先安装mysql模块,然后通过config.default.js配置数据库连接信息,最后在service和controller中使用相应的方法进行增删改查操作。
在Egg.js中,可以使用mysql模块来连接和操作MySQL数据库,下面是详细的用法说明:
1、安装mysql模块:
确保已经安装了Egg.js框架,使用npm或yarn命令安装mysql模块:
```shell
npm install eggmysql save
```
2、配置数据库连接信息:
在Egg.js的配置文件(通常是config/config.default.js)中,添加以下代码来配置数据库连接信息:
```javascript
module.exports = {
// ...其他配置项
sequelize: {
dialect: 'mysql', // 数据库类型为mysql
host: 'localhost', // 数据库主机地址
port: 3306, // 数据库端口号
database: 'your_database_name', // 数据库名称
user: 'your_username', // 数据库用户名
password: 'your_password', // 数据库密码
timezone: '+08:00', // 时区设置
},
// ...其他配置项
};
```
3、创建模型:
在Egg.js项目中,使用sequelize模块提供的Model类来定义数据模型,创建一个名为User的模型:
```javascript
// app/model/user.js
const Sequelize = require('sequelize');
const { Model } = Sequelize;
class User extends Model {}
User.init({
name: { type: Sequelize.STRING, allowNull: false },
age: { type: Sequelize.INTEGER, allowNull: false },
email: { type: Sequelize.STRING, allowNull: false, unique: true },
}, {
sequelize, // 使用之前配置的sequelize实例
modelName: 'User', // 模型名称,与文件名相同,可以省略modelName属性
});
module.exports = User;
```
4、执行数据库操作:
使用定义好的模型,可以在Egg.js项目中执行各种数据库操作,以下是一些示例:
创建新记录:
```javascript
const User = require('../app/model/user');
const user = new User({ name: 'John Doe', age: 25, email: 'john@example.com' });
user.save().then(() => { console.log('User created successfully!'); }).catch((error) => { console.error(error); });
```
查询记录:
```javascript
const User = require('../app/model/user');
User.findAll().then((users) => { console.log(users); }).catch((error) => { console.error(error); });
```
更新记录:
```javascript
const User = require('../app/model/user');
User.update({ age: 26 }, { where: { name: 'John Doe' } }).then(() => { console.log('User updated successfully!'); }).catch((error) => { console.error(error); });
```
删除记录:
```javascript
const User = require('../app/model/user');
User.destroy({ where: { name: 'John Doe' } }).then(() => { console.log('User deleted successfully!'); }).catch((error) => { console.error(error); });
```
以上示例中的代码可以在Egg.js的控制器、服务等地方使用,以实现对MySQL数据库的操作。
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/514199.html