基于node.js的web开发框架express简单方便,很多项目中都在使用。这里结合MySQL数据库,实现最简单的CRUD操作。

开发环境:

IDE:WebStorm

DB:MySQL

-------------------------------------------------------------------------------------------

1、使用WebStorm创建node.js express应用程序,express框架可以根据使用者的爱好设置页面引擎,默认为jade,我比较喜欢ejs,这里设置时选择Template为EJS即可

这里WebStorm实际使用了express-generator这个生成器为我们生成了express应用程序

2、创建结束时,可以看到express工程结构如图

3、执行调试的设置(不设置也可以,只不过执行或调试时看的有些奇怪而已)

修改一下Name的内容为工程名称

注意:express工程中的bin目录下有一个www文件,它用来设置express工程的一些配置,比如express引用程序的端口(默认:3000)等

4、配置好后就可以执行(alt+F10)或调试(alt+F9)了

5、试着访问一下,在浏览器的地址栏中输入localhost:3000,可以看到下图,说明express框架的应用程序已经搭建好了

-------------------------------------------------------------------------------------------

6、express-generator生成器生成的代码中有users相关内容,我们不需要的,所以删除之。先在app.js这个文件中删除相关内容,下图中的第9行和第26行都删除掉

7、另外,路由目录routes中的users.js文件也删除掉

-------------------------------------------------------------------------------------------

8、接着添加MySQL数据库驱动,在package.json文件中添加"mysql" : "latest",意思是不知道mysql对应的驱动是什么版本,使用latest表示获取最新的mysql数据库驱动

9、观察一下工程目录中的node_modules目录,现在是没有mysql驱动的

10、在命令行窗口中当前工程路径下使用指令:npm install,这样就可以依据package.json文件中写的依赖添加mysql驱动了

添加完毕,如下提示

再次观察node_modules目录,这时有mysql驱动了

-------------------------------------------------------------------------------------------

11、最终实现的效果

【客户信息列表页面】

【客户新增页面】

【客户修改页面】

【根据条件查询】

-------------------------------------------------------------------------------------------

12、创建数据访问层,在express工程中创建db目录,在其中创建两个文件dbconfig.js 和 customersql.js文件,dbconfig.js文件是MySQL数据库连接配置信息模块文件,customersql.js文件记录客户管理功能模块要用到的sql语句,当然都以JavaScript对象的形式,以node.js中模块的结构组织。

对于数据库连接配置模块,还是那些连接信息:服务器名称啦、连接用户名称啦、连接用户密码啦、数据库名称啦、端口号啦

而具体业务模块的数据库操作对象模块说白了就是对SQL语句进行了JavaScript对象方式的封装,调用时获取对象的CRUD相应的属性值(也就是相应的SQL语句)

-------------------------------------------------------------------------------------------

13、路由规划

默认index.js文件如下,只有对默认路径(即http://localhost这样)形式访问的路由处理

添加自定义的路由规划,包括路由对应的处理器函数,无非是对应页面的CRUD操作,设置get、post方式的处理器函数

-------------------------------------------------------------------------------------------

14、最终的工程结构

看到这里,是不是感觉到特别无脑操作、特别简单呀?

后续有空,再写一个更好一些的版本(涉及:分页、多表连接、Ajax等)

整个工程代码:https://github.com/temptation/watermalon_v1

【原】无脑操作:express + MySQL 实现CRUD的更多相关文章

  1. 【原】无脑操作:IDEA + maven + Shiro + SpringBoot + JPA + Thymeleaf实现基础认证权限

    开发环境搭建参见<[原]无脑操作:IDEA + maven + SpringBoot + JPA + Thymeleaf实现CRUD及分页> 需求: ① 除了登录页面,在地址栏直接访问其他 ...

  2. 【原】无脑操作:IDEA + maven + Shiro + SpringBoot + JPA + Thymeleaf实现基础授权权限

    上一篇<[原]无脑操作:IDEA + maven + Shiro + SpringBoot + JPA + Thymeleaf实现基础认证权限>介绍了实现Shiro的基础认证.本篇谈谈实现 ...

  3. 【原】无脑操作:EasyUI Tree实现左键只选择叶子节点、右键浮动菜单实现增删改

    Easyui中的Tree组件使用频率颇高,经常遇到的需求如下: 1.在树形结构上,只有叶子节点才能被选中,其他节点不能被选中: 2.在叶子节点上右键出现浮动菜单实现新增.删除.修改操作: 3.在非叶子 ...

  4. 【原】无脑操作:eclipse + maven搭建SSM框架

    网上看到一些Spring + Spring MVC + MyBatis框架的搭建教程,不是很详细或是时间久远了,自己动手整一个简单无脑的! 0.系统环境 1)Windows 10 企业版 2)JDK ...

  5. 【原】无脑操作:ElasticSearch学习笔记(01)

    开篇来自于经典的“保安的哲学三问”(你是谁,在哪儿,要干嘛) 问题一.ElasticSearch是什么?有什么用处? 答:截至2018年12月28日,从ElasticSearch官网(https:// ...

  6. 【原】无脑操作:Windows 10 + MySQL 5.5 安装使用及免安装使用

    本文介绍Windows 10环境下, MySQL 5.5的安装使用及免安装使用 资源下载: MySQL安装文件:http://download.csdn.net/detail/lf19820717/9 ...

  7. 【原】无脑操作:IDEA + maven + SpringBoot + JPA + Thymeleaf实现CRUD及分页

    一.开发环境: 1.windows 7 企业版 2.IDEA 14 3.JDK 1.8 4.Maven 3.5.2 5.MariaDB 6.SQLYog 二.Maven设置: Maven目录下的con ...

  8. 【原】无脑操作:IDEA + maven + SpringBoot + JPA + EasyUI实现CRUD及分页

    背景:上一篇文章的界面太丑.没有条件查询功能.所以做一些改进,整合EasyUI做实现.(仅以此文纪念表格中出现的这些朋友工作六周年,祭奠一下逝去的青春^_^) 一.开发环境(参照上一篇文章) 补充:E ...

  9. MySQL轻量版使用,无需安装,无脑操作

    不知道是否有想我一样的,开始用的都是安装版的,特别费事,卸载后注册表很难删除 下面介绍一下MySQL轻量级的如下 首先打开一个网址:www.oracle.com没错就是强大的Oracle官网 也可以直 ...

随机推荐

  1. scanf()中清除输入缓冲区的几种方法归纳

    应用场景:我们使用多个scanf()的时候,如果输入缓冲区还有数据的话,那么scanf()就不会询问用户输入,而是直接就将输入缓冲区的内容拿出来用了,这就导致了前面的错误影响到后面的内容,为了隔离这种 ...

  2. Golang 编写的图片压缩程序,质量、尺寸压缩,批量、单张压缩

    目录: 前序 效果图 简介 全部代码 前序: 接触 golang 不久,一直是边学边做,边总结,深深感到这门语言的魅力,等下要跟大家分享是最近项目 服务端 用到的图片压缩程序,我单独分离了出来,做成了 ...

  3. MySQL 系列(四)主从复制、备份恢复方案生产环境实战

    第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 第三篇:MySQL 系列(三)你不知道的 视图.触发器.存储过程.函数 ...

  4. 使用win10远程控制ubuntu16.04

    使用win10远程控制ubuntu16.04,网上很多需要安装xfce桌面的.今天介绍一下,不需要安装其他桌面,使用Ubuntu16.04自带桌面,漂亮美观. Ubuntu16.04端: 1.打开终端 ...

  5. OpenSUSE下编译安装OpenFoam

    在不是Ubuntu系统下安装OpenFoam,需要采用编译安装的方式.以下以OpenSuSE为例进行编译安装. 1 软件包准备 需要下载两个程序包: OpenFOAM-4.x-version-4.1. ...

  6. POJ2774 Long Long Message [后缀数组]

    Long Long Message Time Limit: 4000MS   Memory Limit: 131072K Total Submissions: 29277   Accepted: 11 ...

  7. 第14章 Linux启动管理(3)_系统修复模式

    3. 系统修复模式 3.1 单用户模式 (1)在grub界面中选择第2项,并按"e键"进入编辑.并在"-quiet"后面加入" 1",即&q ...

  8. 关于《Linux.NET学习手记(8)》的补充说明

    早前的一两天<Linux.NET学习手记(8)>发布了,这一篇主要是讲述OWIN框架与OwinHost之间如何根据OWIN协议进行通信构成一套完整的系统.文中我们还直接学习如何直接操作OW ...

  9. 最新Linux部署.NET,Mono and DNX

    这几天一直在折腾在Linux下的ASP.NET 5,就下在看来在其它操作系统中ASP.NET 5或.NET应用,要想在完整的MS VM(CoreCLR)上运行还不远远达不到,应用的效果. 目前只能在M ...

  10. [httpserver]如何解析HTTP请求报文

    这个http server的实现源代码我放在了我的github上,有兴趣的话可以点击查看哦. 在上一篇文章中,讲述了如何编写一个最简单的server,但该程序只是接受到请求之后马上返回响应,实在不能更 ...