请写出使用express设计接口,从mysql的users表中找出符合入参的姓氏和性别的人员数据并返回的代码
时间: 2023-09-15 18:06:05 浏览: 150
### 回答1:
const express = require('express');
const mysql = require('mysql');const app = express();// create mysql connection
const con = mysql.createConnection({
host: 'localhost',
user: 'root',
password: '',
database: 'mydb'
});// connect to mysql
con.connect((err) => {
if(err) throw err;
console.log('MySQL Connected...');
});// get user data from MySQL
app.get('/users/:lastname/:gender', (req, res) => {
let sql = `SELECT * FROM users WHERE lastname = '${req.params.lastname}' AND gender = '${req.params.gender}'`;
con.query(sql, (err, result) => {
if (err) throw err;
res.send(result);
});
});// listen to port 3000
app.listen(3000, () => {
console.log('Server started on port 3000');
});
### 回答2:
使用express设计接口,从mysql的users表中找出符合入参的姓氏和性别的人员数据并返回的代码如下所示:
```javascript
const express = require('express');
const app = express();
const mysql = require('mysql');
// 创建数据库连接
const connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: 'password',
database: 'database_name'
});
// 连接数据库
connection.connect((err) => {
if (err) {
console.error('数据库连接失败:', err);
} else {
console.log('数据库连接成功');
}
});
// 定义接口路由
app.get('/search', (req, res) => {
const surname = req.query.surname; // 获取入参姓氏
const gender = req.query.gender; // 获取入参性别
// 构造SQL查询语句
const sql = `SELECT * FROM users WHERE surname = ? AND gender = ?`;
// 执行查询
connection.query(sql, [surname, gender], (err, results) => {
if (err) {
console.error('查询失败:', err);
res.status(500).json({ error: '查询失败' });
} else {
console.log('查询成功');
res.json(results);
}
});
});
// 监听端口
app.listen(3000, () => {
console.log('服务器启动成功');
});
```
以上代码实现了一个基于express框架的接口,使用MySQL数据库从`users`表中找出符合入参的姓氏和性别的人员数据。接口路径为`/search`,支持GET请求,并接收`surname`和`gender`作为查询条件。数据库连接配置需要根据实际情况进行修改。当查询成功时,接口将返回找到的人员数据;当查询失败时,将返回错误信息。在控制台会打印出相关的连接和查询状态提示信息。
### 回答3:
使用Express设计接口,从MySQL的users表中找出符合入参姓氏和性别的人员数据并返回的代码如下:
```javascript
const express = require('express');
const mysql = require('mysql');
const app = express();
const port = 3000;
const connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: 'password',
database: 'your_database_name'
});
app.get('/users', (req, res) => {
const surname = req.query.surname;
const gender = req.query.gender;
const query = `SELECT * FROM users WHERE surname LIKE '${surname}%' AND gender = '${gender}'`;
connection.query(query, (error, results) => {
if (error) throw error;
res.json(results);
});
});
app.listen(port, () => {
console.log(`Server is running on port ${port}`);
});
```
在上述代码中,我们首先引入了Express和MySQL模块,然后创建了一个Express对象和MySQL连接。
接下来,我们在`app.get`方法中定义了一个路由处理程序来处理GET请求,即根据入参姓氏和性别从MySQL的users表中检索相应的人员数据。
首先,我们通过`req.query`对象获取了请求URL中的查询参数,即姓氏(surname)和性别(gender)。
然后,我们构建了一个SQL查询语句,使用`SELECT * FROM users WHERE surname LIKE '${surname}%' AND gender = '${gender}'`来检索符合条件的人员数据。
最后,我们使用MySQL连接的`query`方法执行查询语句,并将结果通过`res.json`方法返回给客户端。
最后,我们在指定的端口上启动了Express服务器。
使用此代码,当访问`http://localhost:3000/users?surname=李&gender=男`时,将会返回姓氏为“李”且性别为“男”的人员数据。
阅读全文