nodejs数据库(nodejs+mysql怎样操作数据库)
老铁们,大家好,相信还有很多朋友对于nodejs数据库和nodejs+mysql怎样操作数据库的相关问题不太懂,没关系,今天就由我来为大家分享分享nodejs数据库以及nodejs+mysql怎样操作数据库的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!
nodejs+mysql怎样操作数据库
这次给大家带来nodejs+mysql怎样操作数据库,nodejs+mysql操作数据库的注意事项有哪些,下面就是实战案例,一起来看一下。
一、几个常用的全局变量
1、__filename获取当前文件的路径
2、__dirname获取当前文件的目录
3、process.cwd()获取当前工程的目录
二、文件的引入与导出
1、使用require引入文件
2、使用module.exports导出文件中指定的变量、方法、对象
三、node项目的搭建目录结构
demo
package.json当前项目所依赖的包或者模块
router存放路由的文件
views存放视图的模块
public静态文件
module书写模块比如数据库
app.js主入口文件
四、将路由视图单独写在router文件中demo
1、视图视图文件
const express= require("express");
const router= express.Router();
router.get("/",(req, res)=>{
res.send("hello word");
});
router.get("/article",(req, res)=>{
res.send("我是文章列表");
})
module.exports= router;2、在主文件中调用
'use strict';
const express= require("express");
const app= express();
app.use("/",require("./router/03_router"))
app.use("/app",require("./router/03_router1"))
app.listen(3000);五、使用ejs模板
1、需要安装但可以不引入
npm install ejs--save2、在主文件中配置
//配置模板的文件路径
app.set("views",__dirname+"/views");
//配置模板引擎
app.set("view engine","ejs");3、使用
①、模板文件
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<h1>我是模板渲染的</h1>
</body>
</html>②、在路由中渲染模板
'use strict';
const express= require("express");
const router= express.Router();
router.get("/",(req, res)=>{
//可以直接使用res.render("03_index");
res.render("03_index.ejs");
});
router.get("/article",(req, res)=>{
res.send("我是文章列表");
})
module.exports= router;③、主文件
'use strict';
const express= require("express");
const app= express();
//配置模板的文件路径
app.set("views",__dirname+"/views");
//配置模板引擎
app.set("view engine","ejs");
app.use("/",require("./router/03_router"))
app.use("/app",require("./router/03_router1"))
app.listen(3000);六、关于ejs模板文件的使用
1、返回数据
...
let dataset={
name:"张三",
age:20,
books:['三国演义','西游记','红楼梦','水浒传']
}
res.render("03_index.ejs",dataset);
...2、普通的字段
<h2><%= name%></h2>
<h2><%= age%></h2>3、迭代数组
<ul>
<% for(let i in books){%>
<li><%= books[i]%></li>
<%}%>
</ul>七、加载静态文件
1、主文件中配置
//设置静态文件的加载(js,css,img)
app.use(express.static(__dirname+"/public"));2、在模板中使用
<link rel="stylesheet" rel="external nofollow" href="./css/bootstrap.css" rel="external nofollow">
<script type="text/javascript" src="./js/jquery-3.1.1.min.js"></script>
<img src="./img/002.jpg">
...八、使用mysql数据库
1、在module中创建一个db.js的文件
'use strict';
const mysql= require("mysql");
/**
*将整个方法全部暴漏出去
*@param sql sql语句
*@param arg传递到sql语句中的参数,可以不写
*@param callback回调函数,可以不写
*/
module.exports= function(sql,arg,callback){
//1.创建连接(根据自己的数据库配置)
let config= mysql.createConnection({
host:"localhost",//数据库的地址
user:"root",//数据库用户名
password:"root",//数据库密码
port:"3306",//mysql数据库的端口号
database:"mybatistest"//使用那个数据库
});
//2.开始连接数据库
config.connect();
//3.对数据库的增删改查操作
config.query(sql,arg,(err,data)=>{
callback&& callback(err,data);
})
//4.关闭数据库
config.end();
}2、在router视图中使用查询数据
①、引入文件
//引入数据库文件
const db= require("./../module/db");②、视图中使用
router.get("/",(req, res)=>{
db("select* from m_dept",(err,data)=>{
console.log(data);
res.render("03_index.ejs",{data:data});
})
});3、新增数据
①、前端页面见代码案例
②、通过req.query获取用户数据参数
router.get("/regist",(req, res)=>{
//获取到输入参数,前提是input上要写name
console.log(req.query);
db("insert into student(name,age) values(?,?)",[req.query.username,req.query.age],(err,data)=>{
console.log(data);
if(data){
res.send("成功");
}
})
})九、关于node返回json的方式
在前后端分离开发模式中后端返回的数据一般都是json,不需要使用ejs模板引擎了
...
res.json({
info:"成功",
code:1
});
...相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!
推荐阅读:
如何在项目中使用PHP静态绑定
如何使用AngularJS监听渲染
nodejs简单访问及操作mysql数据库的方法示例
本文实例讲述了nodejs简单访问及操作mysql数据库的方法。分享给大家供大家参考,具体如下:
var
mysql
=
require('mysql');
//调用MySQL模块
mysql模块要安装
$
npm
install
mysql
//创建一个connection
var
connection
=
mysql.createConnection({
host
:
'127.0.0.1',
//主机
user
:
'root',
//MySQL认证用户名
password
:
'',
//MySQL认证用户密码
port:
'3306',
//端口号
database:''
//数据库名
});
//创建一个connection
connection.connect(function(err){
if(err){
console.log('[query]
-
:'+err);
return;
}
console.log('[connection
connect]
succeed!');
});
//执行SQL语句
connection.query('SELECT
1
+
1
AS
solution',
function(err,
rows,
fields)
{
if
(err)
{
console.log('[query]
-
:'+err);
return;
}
console.log('The
solution
is:
',
rows[0].solution);
});
//关闭connection
connection.end(function(err){
if(err){
return;
}
console.log('[connection
end]
succeed!');
});
注:nodejs在操作数据库的时候不用设置数据库的编码格式
set
names
utf8
希望本文所述对大家nodejs程序设计有所帮助。
您可能感兴趣的文章:nodejs连接mysql数据库简单封装示例-mysql模块nodejs进阶(6)—连接MySQL数据库示例nodejs实现的连接MySQL数据库功能示例Nodejs连接mysql并实现增、删、改、查操作的方法详解nodeJs实现基于连接池连接mysql的方法示例nodejs中操作mysql数据库示例NodeJS链接MySql数据库的操作方法Nodejs使用mysql模块之获得更新和删除影响的行数的方法NodeJs使用Mysql模块实现事务处理实例nodejs连接mysql数据库及基本知识点详解
如何使用Nodejs连接mongodb数据库教程详解
这篇文章主要介绍了使用Nodejs连接mongodb数据库的实现代码,需要的朋友可以参考下
一个简单的nodejs连接mongodb示例,来自 mongodb官方示例
1.创建package.json
首先,创建我们的工程目录connect-mongodb,并作为我们的当前目录
输入npm init命令创建package.json
然后,安装mongodb的nodejs版本driver
mongodb驱动包将会安装到当前目录下的node_modules中
2.启动MongoDB服务器
安装MongoDB并启动MongoDB数据库服务,可参考我之前的文章,或者MongoDB官方文档
3.连接MongoDB
创建一个app.js文件,并添加以下代码来连接服务器地址为192.168.0.243,mongodb端口为27017上名称为myNewDatabase的数据库
在命令行输入以下命令运行app.js
4.插入文档
在app.js中添加以下代码,使用insertMany方法添加3个文档到documents集合中
insert命令返回一个包含以下属性的对象:
result MongoDB返回的文档结果
ops添加了_id字段的文档
connection执行插入操作所使用的connection
在app.js更新以下代码调用insertDocuments方法
在命令行中使用node app.js运行
5.查询所有文档
添加findDocuments函数
findDocuments函数查询了所有'documents'集合中所有的文档,将此函数添加到MongoClient.connect的回调函数中
6.使用过滤条件(query filter)查询文档
查询'a':3的文档
7.更新文档
updateDocument方法更新满足条件a为2的第一个文档,新增一个b属性,并将其设置为1。
将updateDocument方法添加到MongoClient.connect方法的回调中
8.删除文档
添加到app.js中
9.创建索引
索引能够改善应用的性能。下面你代码在'a'属性上添加索引
更新app.js
关于nodejs数据库的内容到此结束,希望对大家有所帮助。