1. 建立数据连接setting.js

var settings = {};
settings.db = {
host: 'localhost',
user: 'root',
password: '1234',
port: '3306',
database: 'testnode'
}
module.exports = settings;

2. mysqlconn.js

var mysql = require('mysql');
var settings = require('./setting')
var conn = mysql.createConnection(settings.db);
conn.connect();
module.exports = conn;

3. app.js

app.set('views', path.join(__dirname, 'views'));
//设置模板的后缀是html
app.engine('html', require('ejs').renderFile);
//指定总模板
app.set('view engine', 'html');

4.建立路由idnex.js

var express = require('express');
var router = express.Router();
var data = require('../DataSql/index')
//用户学生列表
router.get('/', function(req, res, next)
{
data.getList(function(err,retult)
{
res.render('index', {
title: '学生列表',
data:retult
});
})
});
module.exports = router;

5.views 建立index.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>
<%=title%>
</title>
</head>
<body style="margin:auto 0">
<form action="/users/search" method="post">
<div style="padding: 0fr; position:relative; margin: 0 auto;">
姓名:<input type="text" name="s_name" value="<%=data.usernmae%>">
年龄:<input type="text" name="s_age" value="<%=data.sex%>">
<input type="submit" value="查询">
</div>
</div>
</form>
<table style="margin: 10px">
<tr>
<th>编号</th>
<th>姓名</th>
<th>年龄</th>
<th>操作</th>
</tr>
<% for(var i=0;i<data.length;i++){%>
<tr>
<td>
<%=data[i].id%>
</td>
<td>
<%=data[i].usernmae%>
</td>
<td>
<%=data[i].sex%>
</td>
<td><a href="/users/add">添加用户</a></td>
<td><a href="/users/del/<%=data[i].id %>">删除</a></td>
<td><a href="/users/toUpdate/<%=data[i].id %>">修改</a></td>
</tr>
<%}%>
</table>
</body>

</html>

5.数据库操作index.js

//var db = require("./mysql");
var conn =require("../DataSql/sqlconn");
/* exports.getList = function (callback)
{
var sqlstr = "select * from student";
db.driver.execQuery(sqlstr,function(err, data)
{
return callback(err, data);
});
}; */
exports.getList = function (callback)
{
var sqlstr = "select * from student";
conn.query(sqlstr,function(err, data)
{
return callback(err, data);
});
};
//conn.end();
//console.log(db);

pasting

数据库

/*
Navicat MySQL Data Transfer
Source Server         : localhost
Source Server Version : 50519
Source Host           : localhost:3306
Source Database       : testnode
Target Server Type    : MYSQL
Target Server Version : 50519
File Encoding         : 65001
Date: 2018-09-14 15:26:22
*/
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for student
-- ----------------------------
DROP TABLE IF EXISTS `student`;
CREATE TABLE `student` (
  `id` int(11) NOT NULL,
  `usernmae` varchar(255) DEFAULT NULL,
  `sex` varchar(100) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-- ----------------------------
-- Records of student
-- ----------------------------
INSERT INTO `student` VALUES ('1', 'dqh', '33');
INSERT INTO `student` VALUES ('2', 'ddd', '11');
INSERT INTO `student` VALUES ('3', 'eee', '11');

nodejs ejs模板数据库操作的更多相关文章

  1. node jade模板数据库操作

    /* Navicat MySQL Data Transfer Source Server         : localhost Source Server Version : 50519 Sourc ...

  2. 前端笔记之NodeJS(三)Express&ejs模板引擎&请求识别

    一.Express框架 1.1基本使用 创建http服务器特别麻烦,express框架解决了这个的问题. Express在node界的地位,就相当于jQuery在DOM界的地位.jQuery的核心就是 ...

  3. nodejs 数据库操作,消息的发送和接收,模拟同步

    var deasync = require('deasync'); //导入模板 var mysql=require('mysql'); var Stomp = require('stompjs'); ...

  4. python 学习笔记十六 django深入学习一 路由系统,模板,admin,数据库操作

    django 请求流程图 django 路由系统 在django中我们可以通过定义urls,让不同的url路由到不同的处理函数 from . import views urlpatterns = [ ...

  5. python/数据库操作补充—模板—Session

    python/数据库操作补充—模板—Session 一.创建一个app目录 在models.py只能类进行进行创建表 class Foo: xx= 字段(数据库数据类型) 字段类型 字符串 Email ...

  6. django上课笔记4-复习数据库操作-复习模板-Seccion-详细cookie和session的区别

    一.复习数据库操作 字段类型 字符串 EmailField(CharField): IPAddressField(Field) URLField(CharField) SlugField(CharFi ...

  7. NodeJS - Express 3.0下ejs模板使用 partial展现 片段视图

    如果你也在看Node.js开发指南,如果你也在一步一步实现 microBlog 项目!也许你会遇到本文提到的问题,如果你用的是Express 3.0 本书实例背景是 Express 2.0 而如今升级 ...

  8. 62.nodejs中的ejs模板学习

    转自:https://blog.csdn.net/dongmelon/article/details/72403913 02.ejs.这是被include的文件 <script> cons ...

  9. Express全系列教程之(十一):渲染ejs模板引擎

    一.简介 相比于jade模板引擎,ejs对原HTML语言就未作出结构上的改变,只不过在其交互数据方面做出了些许修改,相比于jade更加简单易用.因此其学习成本是很低的.您也可参考ejs官网:https ...

随机推荐

  1. Java基础加强之代理

    本文引用自 http://www.cnblogs.com/xdp-gacl/p/3971367.html 1.什么是代理 动态代理技术是整个java技术中最重要的一个技术,它是学习java框架的基础, ...

  2. 百度api:根据经纬度获取地理位置信息

    调用百度api,根据经度和纬度获取地理位置信息,返回Json. C#代码: using Newtonsoft.Json; using Newtonsoft.Json.Linq; using Syste ...

  3. virtualbox虚拟机与物理机windows文件共享

    必须安装virtualbox的增强功能包(VBoxGuestAdditions) 1.打开Linux系统,选择 设备->安装增强增强功能 2.等待其自动安装,当出现press return to ...

  4. 2019北航OO第一单元作业总结

    一.前三次作业内容分析总结 前言 前三次作业,我提交了三次,但是有效作业只有两次,最后一次作业没能实现多项式求导的基本功能因此无疾而终,反思留给后文再续,首先我介绍一下这三次作业,三次作业围绕着多项式 ...

  5. HTML:5meta标签

    <h2>一些常用的移动端的meta属性设置</h2><!DOCTYPE html> <!-- 使用 HTML5 doctype,不区分大小写 --> & ...

  6. 生死系列--WuJie

    WuJie,高中和中专时期的同学,篮球队的队友. 在高三时认识的,我们隔壁班的,但仅限于认识,并未打过交道.高中毕业后考在同一所学校,同一个班,象棋下的很好,喜欢打扑克牌,在班上任团支部书记. 球队时 ...

  7. d3 js emberjs handlerbarjs

    http://handlebarsjs.com/ http://emberjs.com/ http://jsbin.com/d3ember-barchart/13/edit?html,output

  8. flex 自定义组件的编写

    使用flex也很久了,也改过别人写的flex自定义组件,但是就是没有系统的研究下flex组件的编写步骤,和要注意的东西,在这里我参照一本书中的例子,好好的理解下,也为了巩固下自己对flex的理解! 1 ...

  9. Java List添加元素

    import java.util.ArrayList; public class Test {     public static void main(String[] args) {         ...

  10. Linux部署python django程序-apache

    1.安装Apache 先卸载自带的httpd rpm -e httpd --nodeps 在网上下载四个文件 1.apr-1.4.6.tar.gz 2.apr-util-1.5.1.tar.gz 3. ...