我的账户
猩码学苑

专注C++开发菁英教育

亲爱的游客,欢迎!

已有账号,请

如尚未注册?

罗旭 20230202

[复制链接]
十四lll 发表于 2023-2-16 18:43:12 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
  • 1. mysql模块
    • 1.1 mysql模块的作用
      • mysql模块是一个第三方模块,专门用来操作MySQL数据库。 可以执行增删改查操作。
      • npm i mysql
      • CURD: 就代表数据库的增删改查
      • c: create 就是添加 (增)
      • u: update 就是修改 (改)
      • r: read 就是查询 (查)
      • d: delete 就是删除 (删)

    • 1.2 mysql基本用法
      • 在Node中使用MySQL模块一共需要5个步骤:
      • 加载 mysql 模块
      • 创建 mysql 链接对象
      • 链接 mysql 服务器
      • 执行SQL语句
      • 关闭链接

    • 1.3 查询 --- read
      • ==执行查询类型的SQL语句,查询结果(result)是一个数组,每个单元是对象,对象的属性是数据表的字段名==

      • 占位符模式:当SQL语句中使用了占位符,则query方法需要使用参数

    • 1.4 添加 --- insert
      • ==执行添加类型的SQL语句,查询结果(result)是一个对象,该对象中有两个属性需要记住==
      • affectedRows: 受影响行数
      • insertID: 查询数据的主键值

      • 占位符形式:数据添加时,占位符需要一个对象。 对象的属性是数据表字段名,值是要写入数据表的数据


    • 1.5 修改 --- update
      • 执行修改类型的SQL语句,查询结果(result)是一个对象,该对象中有 affectedRows 属性

      • 占位符模式:  数据修改通常需要两个占位符。 占位符是要修改的数据,对象形式,属性是数据表字段;占位符2是修改条件,通常是主键值


    • 1.6 删除 --- delete
      • 执行删除类型的SQL语句,查询结果(result)是一个对象,该对象中有 affectedRows 属性

      • 占位符模式:



  • 2. Node中的模块化
    • 2.1 什么是模块化
      • 事实上模块化开发最终的目的是将程序划分成一个个小的结构;
      • 这个结构中编写属于自己的逻辑代码,有自己的作用域,定义变量名词时不会影响到其他的结构;
      • 这个结构可以将自己希望暴露的变量、函数、对象等导出给其结构使用;
      • 也可以通过某种方式,导入另外结构中的变量、函数、对象等;
      • 上面说提到的结构,就是模块;按照这种结构划分开发程序的过程,就是模块化开发的过程;
      • 无论你多么喜欢JavaScript,以及它现在发展的有多好,它都有很多的缺陷:
      • 比如var定义的变量作用域问题;
      • 比如JavaScript的面向对象并不能像常规面向对象语言一样使用class;
      • 比如JavaScript没有模块化的问题;

    • 模块化的历史
      • 在网页开发的早期,Brendan Eich开发JavaScript仅仅作为一种脚本语言,做一些简单的表单验证或动画实现等,那个时候代码还是很少的:这个时候我们只需要讲JavaScript代码写到<script>标签中即可;并没有必要放到多个文件中来编写;甚至流行:通常来说 JavaScript 程序的长度只有一行。
      • AMD: require.js
      • CMD: sea.js

    • 2.2 全局作用域和局部作用域
      • 局部作用域(模块的作用域):
        • 一个js文件就是一个模块
        • 在一个js文件中定义的属性(变量、常量)和方法,默认都只能在当前js文件中使用

      • 案例: 创建index.js、user.js两个模块。 user.js 模块中定义属性和方法,index.js导入user.js模块


      • 全局作用域:
        • 在node中有一个 global 对象,是 node 的顶级对象,地位相当于浏览器中的 window
        • 在js文件中声明的属性和方法如果都挂载到global对象下;当其他js文件导入该模块后,就能使用该模块下的属性和方法了。

      • 案例: 创建index.js、user.js两个模块。 user.js 模块中定义属性和方法并挂载到global对象下,index.js导入user.js模块




    • 2.3 module.exports 导出属性和方法
      • 将变量、对象、函数等挂载到global对象上并不推荐,因为容易造成变量污染。
      • 推荐使用 module.exports 导出模块中定义好的变量、对象、方法
      • 使用require加载(导入)模块后,就能使用模块中定义好的变量、对象、方法了
      • 案例: user.js中定义变量、对象、方法,最后使用 module.exports 导出





    • 2.4 封装 db.js 模块
      • 核心思想: mysql操作流程是固定的,尤其是前三步。将前三部封装到一个模块,导出链接对象。 链接对象就可以调用query方法执行sql语句,也能执行end方法关闭链接


    • 2.5 require函数
      • require函数加载模块的流程
      • ① 如果require参数是模块名,首先查找系统模块,如果系统模块中没有则查找第三方模块
      • ② 查找第三方模块的流程:
      •     1)  先去当前项目目录下查找 node_modules文件夹。如果有则进入;如果没有则去上层目录查找,还没有则继续向上层目录查找,直到磁盘根目录。如果都没有,则报错
      •     2)  进入node_modules,查找模块名对应的文件夹。如果有则进入,没有则报错
      •     3)  进入模块文件夹后查找 package.json 文件,进入文件继续查找 main 配置项,该配置项指明了应该加载哪个文件。该文件一般是 index.js
      •     4)如果没有package.json文件,或者package.json文件中没有 main 配置项,则加载 index.js 文件
      • require('xxx')



回复

使用道具 举报

关注0

粉丝0

帖子42

发布主题
大家都在学
课堂讨论
一周热帖排行最近7x24小时热帖
关注我们
专注C++菁英教育

客服电话:18009298968

客服时间:9:00-21:00

猩码学苑 - 专注C++开发菁英教育!( 陕ICP备2025058934号-1 )

版权所有 © 陕西菁英数字科技有限公司 2023-2026