我对nodejs非常陌生,正在努力构建一种方法我们正在用oraclejet(javascript框架)构建一个应用程序,我们有mysql数据库作为应用程序的后端我的任务是使用nodejs从mysql创建restapi作为一个初学者,我应该如何处理这个问题?在node js中要学习哪些主题才能做到这一点?存储过程也可以作为restapi公开吗?有什么帮助吗谢谢
jchrr9hc1#
使用express返回mysql结果相当简单,不需要很多行代码:
const express = require("express"); const mysql = require('mysql'); const connection = mysql.createConnection({ host : 'localhost', user : 'root', password : 'root', database : 'my_db' }); connection.connect((err) => { if(err) { console.error("Error connecting to db: ", err); } else { console.log("Connected to db successfully"); } }); const app = express(); app.get("/users", (req,res) => { connection.query('SELECT * FROM Users', (err, rows, fields) => { if (err) { console.error('Error while performing query: ', err); } else { console.log('Result: ', rows); // Send to caller as json res.json(rows); } }); }); // Call Stored Proc 'GetUsers' app.get("/get_users", (req,res) => { connection.query('CALL GetUsers()', (err, rows, fields) => { if (err) { console.error('Error while performing query: ', err); } else { console.log('Result: ', rows); // Send to caller as json res.json(rows); } }); }); app.listen(3000);
您可以使用curl(或您的浏览器)通过转到http://localhost:3000/用户,例如。
curl http://localhost:3000/users
你会得到这样的结果:
[{ "firstName": "Craig", "lastName": "Michaels" }, { "firstName": "Jim", "lastName": "Thomson" }, { "firstName": "Abigail", "lastName": "Moore" }]
我添加了一个path/get\u users来调用getusers()存储过程(定义如下):
DROP PROCEDURE IF EXISTS GetUsers; DELIMITER // CREATE PROCEDURE GetUsers() BEGIN SELECT * from Users ; END // DELIMITER ;
表用户是这样的:
create table users ( firstName varchar(100), lastName varchar(100) );
我们可以通过以下方式称之为:
curl http://localhost:3000/get_users
1条答案
按热度按时间jchrr9hc1#
使用express返回mysql结果相当简单,不需要很多行代码:
您可以使用curl(或您的浏览器)通过转到http://localhost:3000/用户,例如。
你会得到这样的结果:
我添加了一个path/get\u users来调用getusers()存储过程(定义如下):
表用户是这样的:
我们可以通过以下方式称之为: