noodjs(koa)+mysql搭建服务器环境及基本的增删改查操作

手动创建项目文件

1.在指定目录下,右击创建项目文件夹。
2.使用git init 命令把此文件下内容变成可由git进行版本控制的文件。
3.执行“npm init -y”命令,创建package.json文件,初始化
4.执行“npm init koa”命令,安装koa,此时项目路径下会生成一个package-lock.json文件。

创建server

1.创建一个app.js文件,然后将以下代码复制进去

const Koa = require('koa');
const app = new Koa();
const main = ctx => {
    ctx.response.body = 'Hello World';
}
app.use(main);
app.listen(3000);

然后执行以下命令

node app.js

最后在浏览器打开http://127.0.0.1:3000/这个连接,如果看到熟悉的“Hello World”就说明你的server已经启动成功啦。

连接数据库

这里我是用的是mysql,mac上mysql的安装可以参考我的这篇mac上n次安装与卸载mysql
先安装nodejs的mysql包

npm install mysql

创建连接:

const Koa = require('koa');
var mysql = require('mysql'); //导入模块
const app = new Koa();
var connection = mysql.createConnection({
   host:'http://localhost',
   user:'root',
   port: '3306',
   password:'',
   database:'test'
});
connection.connect();  //创建连接

操作数据库

附上自己创建表的sql语句

create table  record( 
id INT NOT NULL   AUTO_INCREMENT,
userId INT NOT NULL,
text TEXT,
foreign key(userId) references user(id),
PRIMARY KEY(id)
);

create table record_img( 
id  INT NOT NULL   AUTO_INCREMENT,
recordId INT NOT NULL,
imgSrc varchar(255) NOT NULL,
foreign key(recordId) references record(id),
PRIMARY KEY(id)
);

create table user( 
id INT NOT NULL   AUTO_INCREMENT,
nickName varchar(200)  NOT NULL,
gender varchar(200),
city varchar(200),
province  varchar(200),
country  varchar(200),
birthday DATE,
PRIMARY KEY(id)
);

对数据库的基本操作

  • 查询
var sql ='select * from user';
connection.query(sql,function(err,result){
    if(err){
        console.log('[SELECT ERROR] - ',err.message);
        return;
    }
    console.log('--------------------------SELECT----------------------------');
    console.log(result);
    console.log('------------------------------------------------------------

');

});
  • 修改
connection.connect();  //创建连接
var sql ='update user set nickName = ? where id = ?';
var sqlpar=['julieCopy',1];

connection.query(sql,sqlpar,function(err,result){
    if(err){
        console.log('[UPDATE ERROR] - ',err.message);
        return;
    }
    console.log('--------------------------SELECT----------------------------');
    console.log('UPDATE affectedRows',result.affectedRows);
    console.log('------------------------------------------------------------

');

});
connection.end();
  • 增加
connection.connect();  //创建连接
var addSql ='insert into  user (nickName) values(?)';
var addPar= ['jessicacopy'];
connection.query(addSql,addPar,function(err,result){
    if(err){
        console.log('[insert ERROR] - ',err.message);
        return;
    }
    console.log('--------------------------SELECT----------------------------');
    console.log('UPDATE affectedRows',result.affectedRows);
    console.log('------------------------------------------------------------

');

});
connection.end();

  • 删除
connection.connect();  //创建连接
var delSql ='delete from  user where id = 2';

connection.query(delSql,function(err,result){
   if(err){
       console.log('[UPDATE ERROR] - ',err.message);
       return;
   }
   console.log('--------------------------SELECT----------------------------');
   console.log('UPDATE affectedRows',result.affectedRows);
   console.log('------------------------------------------------------------

');

});
connection.end();