express初入踩坑与使用mysql语句
- 你是否有这种顾虑不想使用官方查询方式
- 想直接使用mysql语句查询
但是要如何做 this is a question(这是一个问题)
我在近期验证成功express使用mysql的问题
究竟能不能用,答案是能
接下去我大致阐述我自己的使用历程和方法
先下载mysql
yarn add mysql
我这使用的是yarn 命令有的伙伴使用的是npm或cnpm都可下载。我目前主要使用的是yarn 我的运行命令都是以yarn为主
接下去在modal层创建一个mysql.js
var mysql = require("mysql");
var db_config={
host:"数据库地址",
user:"用户名",
password:"密码",
port:"数据库端口号",
database:"数据库名"
}
//查询成功后关闭mysql
function closeMysql(connect){
connect.end((err)=>{
if(err){
console.log(`mysql关闭失败:${err}!`);
}else{
console.log('mysql关闭成功!');
}
});
}
module.exports = {
querySql(sqlQuery,params,callback) {
let connect=mysql.createConnection(db_config);
//开始链接数据库
connect.connect(function(err){
if(err){
callback(err,'连接失败',null);
}else{
connect.query(sqlQuery,params,function(err,result,fields){
if(err){
callback(err,`SQL error: ${err}!`,null);
}else{
// console.log(result);
callback(JSON.parse(JSON.stringify(result)));
closeMysql(connect);
}
});
}
});
}
}
其次在你需要用到mysql查询的文件中引入
var db = require("../model/mysql");
//查
router.get('/接口名', function(req, res, next) {
db.querySql("select * from user",[],function(results,fields){
res.json({code: 200,data:results,message: '成功'});
});
});
//增 增字段一般会用上post或get
router.get('/接口名', function(req, res, next) {
//注:req.query是get所请求到的参数集 req.body是post所请求到的参数集
let sql =`INSERT INTO user( name, password ) VALUES ( ${req.query.account}, ${req.query.password})`
db.querySql(sql,[],function(error,results){
console.log(error); // 可打印可不打印
console.log(results); // 可打印可不打印
//没加判断条件,专业应该是要添加判断条件,线下补上
res.json({code: 200,data:results,message: '成功'});
});
});
然后直接运行
yarn dev
命令可以自定义,有些用的是自动运行,有的使用yarn 或cnpm 可以根据你项目的运行命令运行,结果就是无任何返回证明成功,又返回则证明查询语句有问题。切记必须要重新运行,否则无法有代码更新。
问题
目前最难受的就是代码更新后要实时启动命令,不知在这问题上各位有什么见解,欢迎评论留言探讨
如上述观点有问题,也欢迎指正
不断学习,不忘初心