node.js操作mysql(增删改查)
作者:hebedich 发布时间:2024-01-26 00:02:50
最近这段时间研究Node感觉不错,自己做了一个增删改查,虽然有些简陋,但是思想是想通的,其实所有项目都是增删改查,有助于初学者快速掌握Node
首先
本实例展示的是基于Node+Express+node-mysql快速搭建的一套增删改查,视图模板是jade,基本上都是现在能用的到的技术,市面上的实例也特别少,有用的又不新,所以自己写一个
基本工作
首先我们准备一些基本的,因为我是用mysql麻烦可以自己装一下mysql,去官网可以下各种操作系统的安装包。
实例就一张表,下面是这张表的建表语句
SET NAMES utf8;
SET FOREIGN_KEY_CHECKS = 0
-- ----------------------------
-- Table structure for `user`
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(255) DEFAULT NULL,
`password` varchar(255) DEFAULT NULL,
`age` int(4) DEFAULT NULL,
`info` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8;
SET FOREIGN_KEY_CHECKS = 1;
去GIT下载我的项目
npm install 安装项目所需工具包,下面配置一下数据库连接,在node中配置数据库连接相当简单只需要下列代码就可以了,不像java中导入jar包然后在写一套连接管理类,可谓是操碎了人的心
var mysql = require("mysql");
var connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: '81527319',
database: 'node_test'
});
这里 host 是当前你电脑的ip地址,user是用户名,password是密码,database是要操作的数据库,如果到了这一步,那么就可以开启服务器来试试增删改查了
项目的结构(有助于快速理解项目)
-action 用来服务器提供给客户端浏览器的ajax接口
-mysqlDB.js 用来向user.js提供链接数据库的工具类和实际操作数据库的类
-user.js 用来向实现层提供关于user的增删改查方法 相当于一个中间层
-node_modules 是nodejs所需要用到的依赖包
-public 提供前台的css和js
-routes 提供路由
-views 提供视图模板
-app.js 程序的启动口和入口
其他地方我有做简单的注释,大家方便观看
同项目包下有相关node的源码和一个blog案例源码 当然我没有参考blog源码来实现我的程序,恩基本就这样了,祝大家好运
欢迎来我的GIT夺走源码,点击Repositories查看Nodehttps://github.com/Mrxdh
喜欢的话可以帮忙点击Follower
如果有帮助的话帮忙点一下推荐!
以上所述就是本文的全部内容了,希望大家能够喜欢。


猜你喜欢
- 适配器设计模式是懒得改动某些代码,或者某些接口不方便改动的时候,使用一个特定的封装,一些特定的编写办法,使不同的接口可以使用同种调用方式使用
- 美餐每天发一个用Excel汇总的就餐数据,我们把它导入到数据库后,行政办公服务用它和公司内的就餐数据进行比对查重。初始实现是单线程,和imp
- 如下所示:# 创建一个空的 DataFramedf_empty = pd.DataFrame()#或者df_empty = pd.DataF
- 前言大家好,这次写作的目的是为了加深对数据可视化pyecharts的认识,也想和大家分享一下。如果下面文章中有错误的地方还请指正,哈哈哈!!
- 1、ALL OR ANYPython 之所以成为这么一门受欢迎的语言一个原因是它的可读性和表达能力非常强。Python 也因此经常被调侃为&
- 一个模块可以在逻辑上组织Python代码。将相关的代码到一个模块中,使代码更容易理解和使用。模块是可以绑定和借鉴任意命名属性的P
- Atom是一款功能强大的跨平台编辑器,插件化的解决方案为atom社区的繁荣奠定了基础。任何人都可以把自己做的组件贡献在github上,并能方
- 这几天忙个合作,开发iPhone版校友录。用了很久的iPhone,为它量身定制一套页面还是头一次,好在限制不是很多,会写html基本呈现就不
- 按下"开始(win)"按钮和R键,输入cmd,打开命令行寻找点击需要的库:https://www.lfd.uci.edu
- 今天交流会上,分享前端的开发经验,有一条虽然很快带过,但是我倒是印象蛮深刻的,就写点小结来分享一下吧。不知道是标准害了大家还是大家害了标准,
- 先给大家介绍下python中random模块random与numpy.random对比:1、random.random():生成[0,1)之
- 实际工作中可能会有这样的场景:两个结构体(可能类型一样), 字段名和类型都一样, 想复制一个结构体的全部或者其中某几个字段的值到另一个(即m
- 有一个表,用户需要在后台操作它,希望能对它动态进行添加删除字段。这个功能也许没有问题,但是它原有插入与更新的两个存储过程,也需要一起修改。因
- import os import sys import string #以指定模式打开指定文件,获取文件句柄 def getFileIns(
- 通过exec可以执行动态Python代码,类似Javascript的eval功能;而Python中的eval函数可以计算Python表达式,
- MYSQL TIMESTAMP字段进行时间加减运算在数据分析过程中,想当然地对TIMESTAMP字段进行运算,导致结果谬之千里计算公式如下-
- 本文实例为大家分享了python实现贪吃蛇双人大战的具体代码,供大家参考,具体内容如下晚上家里小朋友要玩贪吃蛇游戏,还要跟我对战,一时半会我
- 本文实例为大家分享了python+opencv实现堆叠图片的具体代码,供大家参考,具体内容如下# import cv2# import nu
- 本文实例讲述了Python使用matplotlib简单绘图。分享给大家供大家参考,具体如下:# -*- coding:utf-8 -*-#!
- 前言:WebDriver提供了两个关闭浏览器的方法,一个是前边使用quit()方法,另一个是close()方法close():关闭当前窗口q