StrongLoop 写一个查询mysql表例子, 要求controllers层和models层 数据表为sys_user 字段为id,username
时间: 2024-09-10 17:22:54 浏览: 40
CS.Framework.zip_C# CS.Framework_CS.Framework_CSFramework._c#三层
在 StrongLoop 中,你可以使用 `strong-mysql` 插件来连接 MySQL 数据库并操作数据。首先,确保你在项目中安装了这个插件。在 controllers 层和 models 层分别进行操作。
**1. 安装 strong-mysql**
```bash
npm install --save strong-mysql
```
**2. 创建 Model (`models/sys_user.js`)**
```javascript
module.exports = function(SysUser) {
SysUser.definition({
tableName: 'sys_user', // 数据表名
attributes: { // 字段
id: {
type: 'string',
primaryKey: true,
required: true
},
username: {
type: 'string',
unique: true
}
}
});
};
```
**3. 设置数据库配置(config.json 或者 env 文件)**
```json
{
"mysql": {
"host": "your_host",
"user": "your_username",
"password": "your_password",
"database": "your_database"
}
}
```
**4. Controllers 层(例如 `controllers/users.js`)**
```javascript
const SysUser = require('../models/sys_user');
const mysql = require('strong-mysql');
exports.getUserById = async (req, res) => {
try {
const pool = mysql.createPool(config.mysql); // 获取数据库连接池
// 从请求参数获取 ID
const userId = req.params.id;
// 从数据库查询用户信息
const [result] = await pool.query(`SELECT * FROM sys_user WHERE id = ?`, [userId]);
if (!result.length) {
return res.status(404).send({ message: 'User not found' });
}
res.json(result[0]);
} catch (err) {
console.error(err);
res.status(500).send({ error: 'Internal server error' });
} finally {
pool.end();
}
};
```
在这个例子中,`getUserById` 控制器函数会根据传入的用户 ID 查询 `sys_user` 表格,找到匹配的用户数据,并将其返回给客户端。
阅读全文