记录一下自己第一次nodejs连接数据以及完成接口api调用,还请见谅!!!
首页你的电脑需要安装了各种环境,安装各种环境就在这里不做赘述,直接开始需要的代码
首先新建了一个文件夹server
再在server文件夹里新建了一个专门放api接口文件的文件夹api
好了,在回退到server文件夹
新建db_con.js文件,放数据连接的一段代码,如下:
module.exports = {
mysql: {
host : '127.0.0.1',//数据库的链接ip地址
user : 'root',//连接数据库的用户名
password : '****',//连接数据库的用密码
port: '3306',//连接数据库的端口
database: 'dbname',//连接数据库的数据库名
}
}
下拉就是启动文件index.js了,代码如下
// node后端服务器
const homeApi = require('./api/homeApi') // 后台接口文件
const bodyParser = require('body-parser')
// body-parser是非常常用的一个express中间件,作用是对http请求体进行解析
const express = require('express') // express框架
const app = express()
//允许接口跨域
app.all('*', function (req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
// res.header("Access-Control-Allow-Headers", "Content-Type,Content-Length, Authorization, Accept,X-Requested-With");
// res.header("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");
// res.header("Access-Control-Allow-Credentials", true);
// res.header("X-Powered-By", ' 3.2.1')
if (req.method == "OPTIONS") res.send(200);/*让options请求快速返回*/
else next();
});
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({ extended: false }))
// 后端api路由
app.use('/home', homeApi) // 使用homeapi文件中的接口
app.use('/message', homeApi) // 使用homeapi文件中的接口
// 监听端口
app.listen(9090) // 监听server9090端口,端口可以自己改
console.log('success listen at port:9090')
接着就是需要对数据进行怎么样的操作,也就是sql语句了,这里也是单独建了一个sqlMap.js文件
// sqlmap.js
var sqlMap = {
// home 增 删 改 查
home: {
search: 'SELECT * FROM tb_name',//查询数据库的某个表的数据
add:'insert into tb_name(src,url) values (?,?)',//向数据库的某个表插入数据
delete:'DELETE FROM tb_namer WHERE id=?',//删除某个表的某条数据 id
updata:'UPDATE tb_name SET src = ?,url = ? WHERE Id = ?'//修改某个表的某条数据
},
//message 自己做了一个简单的留言和回复查询
message:{
add:'insert into tb_message(titile,content,phone,qq) values (?,?,?,?)',
search: 'SELECT * FROM tb_message WHERE id=?',
searchall: 'SELECT * FROM tb_message',
rep:'UPDATE tb_message SET replay = ? WHERE id=?'
}
}
module.exports = sqlMap
不要忘了还有一个api文件夹,接着在改文件夹下建一个homeApi.js文件
// homeApi.js
var models = require('../db') // 引入db配置
var express = require('express') // express框架
var router = express.Router()
var mysql = require('mysql')
var $sql = require('../sqlMap') // sql语句
var fs = require("fs");//暂时没用到
var path = require('path');//暂时没用到
// 连接数据库
// var conn = mysql.createConnection(models.mysql)
// conn.connect()
var conn;
//******,下面这段代码主要是为了解决数据一段时间不操作之后出现 reade ECONNRESET 错误,在网上百度了一下这个错,又说是node版本不对,要回退版本,没有这样操作
function handleError