安装依赖
yarn
或者
npm install
打开MySQL客户端,新建一个数据库
CREATE TABLE `myclass` (
`id` int(4) NOT NULL AUTO_INCREMENT,
`name` char(20) NOT NULL,
`sex` int(4) NOT NULL DEFAULT '0',
`degree` double(16,2) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=latin1;
新建用户关系表
CREATE TABLE `user` (
`id` int(4) NOT NULL,
`username` char(20) DEFAULT NULL,
`password` char(20) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
连接数据库 新建连接池
var mysql = require('mysql');
var pool = mysql.createPool({
host: '127.0.0.1',
user: 'root',
password: '',
database: 'test'
});
使用ejs建立文件模板
- 根据ejs模板新建增删改查页面
新建视图路由
- 根据页面目录配置express router
- 视图分为API, 用户user与其他
- 示例:
page.get('/', function(req, res, next) {
res.render('pages/index');
});
page.get('/view', function(req, res, next) {
res.render('pages/view');
});
page.get('/view/:id', function(req, res, next) {
res.render('pages/detail');
});
page.get('/insert', function(req, res, next) {
res.render('pages/insert');
});
新建并引入
db.js
同时新建api路由
- 新建数据分层用于控制与数据库相关的操作
// 引用MySQL模块 并连接MySQL
var mysql = require('mysql');
var pool = mysql.createPool({
host: '127.0.0.1',
user: 'root',
password: '',
database: 'test'
});
function query(sql, callback) {
pool.getConnection(function(err, connection) {
// Use the connection
connection.query(sql, function(err, rows) {
callback(err, rows);
connection.release(); //释放链接
});
});
}
exports.query = query;
- get接口
page/view
示例
api.get('/view', function (req, res, next) {
db.query('select * from myclass', function (err, rows) {
if (err) {
res.send([]);
} else {
res.send(rows);
}
})
});
运行app
npm start
访问列表页面 查询数据
http://127.0.0.1:10000 || localhost:10000