使用nodeJS创建API接口,连接mysql数据库(新手向简易版)

  博主在学习安卓课程做期末程序的时候就一直想自己做API了,结果网上的教程感觉都太杂,很多都文不对题,找不到一个明确的思路,结果就只能放弃改用jdbc实现数据库交互,现在学了前端,又接触了一点nodeJS之后,才终于有了思路,最近也成功给自己放在服务器上的网站部署了API。现在就来分享一下,也顺便给自己留个备份。

ps:只是自己突然想到的做法,而且个人觉得真的是简易版,可能不标准,但亲测能用。

一、前期准备

首先声明:不懂也没关系,直接仿照代码,需要修改的地方我会用红色标注出来,不过mysql一定要懂一点,会写sql语句就行。

需要的下载的东西(写给完全的小白,比如几个月前的我):vs code 、nodeJS、mysql

博主是在学菜鸟课程学习的nodeJS,本来也没想做API,结果学到 express、api 还有 mysql这部分时,突然灵光一闪,把api内部的语句替换成mysql不就能做一个和数据库相连的api了吗,下面是教程链接

express教程RESTful API教程连接 MySQL

有兴趣了解nodeJS的同学可以看一下,主要是这三个章节。没兴趣的直接跳过,下面直接上代码

二、主要操作

创建一个js文件,如 server.js

打开终端,安装express和mysql依赖

npm i express -S
npm i mysql -S

主要代码

const express = require(‘express‘);
const app = express();
const mysql = require(‘mysql‘);

const connection = mysql.createConnection({
    host: ‘localhost‘,
    user: ‘root‘,
    password: ‘123456‘,     // 改成你自己的密码
    database: ‘test‘    // 改成你的数据库名称
});

connection.connect();

// 下面是解决跨域请求问题
app.all(‘*‘, function(req, res, next) {
    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Headers", "X-Requested-With");
    res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");
    res.header("X-Powered-By",‘ 3.2.1‘);
    res.header("Content-Type", "application/json;charset=utf-8");
    next();
 });

// 这里就是主要要修改的地方,其实也就一行
// 把 address 改成你自己定的地址,就是连接访问的那个地址
app.get(‘/address‘,function(err,res){
    const sql = ‘select * from carousel‘; // 写你需要的sql代码,你要是不会写那我就真的没办法了
    connection.query(sql,function(err,result){
        if(err){
            console.log(‘[SELECT ERROR] - ‘, err.message);
            return;
        }
        // result内放的就是返回的数据,res是api传数据
        // 返回的数据需要转换成JSON格式
        res.json(result);
    });
})    

var server = app.listen(8081, ‘127.0.0.1‘, function () {

    var host = server.address().address;
    var port = server.address().port;

    console.log("地址为 http://%s:%s", host, port);
})

最后执行 node server.js(文件名)

在浏览器输入 127.0.0.1::8081/address 即可,address改成你设定的

三、补充说明

  1. 这里只示范了get,post也是可以用的,看一下教程,照着我这个模式改就行了
  2. app.get() 可以不止一个,复制黏贴,改变地址和改成你想要执行的功能的SQL语句就行
  3. ip地址和端口可以自己改,如果想放到自己的服务器上,把ip改成服务器的内网地址
  4. mysql长期不用会自动断开连接(8小时),本地基本上碰不到这种情况,放在服务器上时要多加一个回调,具体参考这位大佬 server closed
  5. mysql 的部分可以利用 route 和 api 分开写,具体的自己思考,很简单,不会可以私信我

原文地址:https://www.cnblogs.com/kusaki/p/11396997.html

时间: 2024-07-30 09:50:29

使用nodeJS创建API接口,连接mysql数据库(新手向简易版)的相关文章

JDBC课程1-实现Driver接口连接mysql数据库、通用的数据库连接方法(使用文件jdbc.properties)

package day_18; import jdk.internal.util.xml.impl.Input; import org.junit.Test; import java.io.InputStream; import java.net.URL; import java.sql.*; import java.util.Properties; import java.util.logging.Logger; /** * Driver 只是一个接口,数据库厂商必须提供的接口,能从中获取数据

nodeJS连接MySQL数据库

nodeJS连接MySQL数据库,首先创建一个数据库及表.如下: create databases node; create table test( id int AUTO_INCREMENT PRIMARY KEY , name char(50) )ENGINE=InnoDB DEFAULT CHARSET=utf8; 安装MySQL驱动: $ npm install mysql 下面是nodeJS代码: var sys = require('util'); console.log('正在连接

通过PHP连接MYSQL数据库 创建数据库 创建表

通过PHP连接MYSQL数据库  $conn = mysql_connect("localhost","root","password") or die("无法连接数据库");  mysql_select_db("table" ,$conn) or die ("找不到数据源"); 通过PHP创建MYSQL数据库 $conn = mysql_connect("localhost&

Hibernate连接mysql数据库并自动创建表

天才第一步,雀氏纸尿裤,Hibernate第一步,连接数据库. Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库. 所以说,Hibernate讲白了就是简化了与数据库之间的操作,那么要玩转它自然就得连接上数据库咯.(与Hibernate对应的orm框架还有Mybatis,只不过M

如何用IDEA创建springboot(maven)并且整合mybatis连接mysql数据库和遇到的问题

1.New->Project 2.点击next 3.在Group栏输入组织名,Artifact就是项目名.其它选择默认就好,直接Next 4.添加依赖 5.修改您希望放项目的位置,点击finish,等待idea下载springboot项目模板和相关的依赖 项目构建完成后的目录结构 6.如果需要用mybatis连接mysql数据库 a.添加连接数据库的依赖(在pom.xml中添加以下内容,maven将自动把相关依赖放到maven仓库中,然后放到项目中) <!--连接数据库--><de

JDBC连接MySQL数据库及演示样例

JDBC是Sun公司制定的一个能够用Java语言连接数据库的技术. 一.JDBC基础知识         JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,能够为多种关系数据库提供统一訪问,它由一组用Java语言编写的类和接口组成.JDBC为数据库开发者提供了一个标准的API,据此能够构建更高级的工具和接口,使数据库开发者能够用纯 Java API 编写数据库应用程序,而且可跨平台执行,而且不受数据库供应商的限制.

C++连接mysql数据库的两种方法

现在正做一个接口,通过不同的连接字符串操作不同的数据库.要用到mysql数据库,以前没用过这个数据库,用access和sql server比较多.通过网上的一些资料和自己的摸索,大致清楚了C++连接mysql的方法.可以通过2种方法实现. 第一种方法是利用ADO连接, 第二种方法是利用mysql自己的api函数进行连接. 第一种方法可以实现我当前的需求,通过连接不同的字符串来连接不同的数据库.暂时只连接了mysql,sqlserver,oracle,access.对于access,因为它创建表的

Java 通过JDBC连接Mysql数据库的方法和实例——五部曲

一:把mysql-connector-java-5.1.20-bin.jar导入到本项目工程的目录下,步骤如下: (1)先新建一个Web Project项目,取项目名为test (2)右键点击工程下的JRE System Library --> Buid Path --> Configure Build Path --> Libraries --> Add Library --> User Library --> new --> 取名为MySQL --> 选

objective-c连接MySQL数据库

当我搜索objective-c连接MySQL数据库,发现文章已经是很久之前的了,而且是错误的,一篇错,然后连续十几篇都接着错. 好,废话不多说,要连接数据库,首先你得安装MySQL,网上一大堆教程.安装完毕,你需要在终端上敲:mysql --version验证是否安装成功,如果有东西输出,说明你安装成功了. 关于怎么建立数据库,怎么建表,这里也不作描述,百度上搜索一大堆.我这里创建了一个叫"lws_db"的数据库,其中只有一个表.表包括id,name,sex,age,tel几个字段,如