当前位置: 首页 > news >正文

使用Express获取jquery数据 使用模块化 共享自己的数据库

安装express 框架

安装mysql2  防止低版本报错 mysql2的性能更高,支持PreparedStatement,多次查询性能更高

在安装mysql后可以在README.md里面找到官方文档,进行学习

案例1获取mysql数据库里面的数据

  1. host:主机地址 (默认:localhost)
  2. user:用户名
  3. password:密码
  4. port:端口号 (默认:3306)
  5. database:数据库名
  6. charset:连接字符集(默认:‘UTF8_GENERAL_CI’,注意字符集的字母都要大写)
  7. connectTimeout :连接超时(单位:毫秒)
  8. multipleStatements:是否许一个query中有多个MySQL语句( 默认: false)
// 引入express框架
const express = require('express')
const app = express()
// 
const router = express.Router()
// 防止低版本报错 mysql2的性能更高,支持PreparedStatement,多次查询性能更高
const mysql = require('mysql2')

router.use('/user', (req, res) => {
    const connection = mysql.createConnection({
        host: 'localhost', //主机名 localhost
        user: 'root', // 用户名 root
        password: 'root', //密码 root
        database: 'cms',//数据库名 cms
        port: 3306 //mysql默认端口号 3306
    })
    connection.query(
        'select * from users;', //引入数据库
        function (err, results, fields) { //err报错信息  results运行的结果  fields数据库的字段
            // console.log(results); //输出结果
            res.send(results)
        }
    )
})

app.use('/api', router)
app.listen(8888)

获取mysql数据库里面的数据进行模块化

知识点:module.exports={} 模块化     

./   代表当前目录

创建三个文件夹

config.js

module.exports = {
    host: 'localhost', //主机名 localhost
    user: 'root', // 用户名 root
    password: 'root', //密码 root
    database: 'cms',//数据库名 cms
    port: 3306 //mysql默认端口号 3306
}

 db.js

// 防止低版本报错 引入mysql2
const mysql = require('mysql2')
// 引入数据库的 主机名 用户名 密码....
const Config = require('./config')
// 创建一个函数getConn()
function getConn() {
    return mysql.createConnection(Config)
}

//模块化getConn
module.exports = {
    getConn
}

users.js

const express = require('express')
// 创建一个路由容器
const router = express.Router()
// 引入db
const db = require('./db')
// 
router.get('/users', (req, res) => {
    // 引入db里面的getConn()函数
    const conn = db.getConn()
    // 执行SQL语句
    conn.query("select * from users", function (err, results, fields) {
        res.send(results)
    })
    conn.end()
})
module.exports = router

共享自己的数据库

UPDATE user set host = '%' where user = 'root';
flush PRIVILEGES 

 cmd 打开小黑本

让别人填写你的数据库 , 你的密码 ,你的 用户名  ,最后记得把电脑的防火墙关闭

相关文章:

  • Python算法:决策树分类
  • IDEA插件开发-学习
  • python工具方法35 实现SWA,再一次提升模型的性能
  • mysql查询优化实战:查询用时一分半降到三毫秒
  • 你用什么方法做副业赚钱?
  • 十五:Fiddler抓包教程(15)-Fiddler弱网测试
  • 【最长公共子序列】两行字符串,不交叉相连,最多连线
  • 终端I/O.
  • MySQL触发器简介
  • 计算机SSM毕设推荐 40个高质量软件工程毕设项目分享【源码+论文】(四)
  • C语言利用函数解决问题:1.实现reverse函数完成数组元素的逆置;2.将两个数组的元素进行互换;3.统计二进制中1的个数
  • Html:网站设计的内容概览简介、网页设计流程/工具/内容组成、脚本代码之详细攻略
  • 网络安全笔记 -- XXEXML(利用、检测、绕过)
  • c语言小项目(静态通讯录)
  • 数据结构与算法——左程云09
  • 2018一半小结一波
  • C# 免费离线人脸识别 2.0 Demo
  • iOS 颜色设置看我就够了
  • java第三方包学习之lombok
  • Java-详解HashMap
  • JSONP原理
  • nodejs实现webservice问题总结
  • pdf文件如何在线转换为jpg图片
  • 官方新出的 Kotlin 扩展库 KTX,到底帮你干了什么?
  • 每天10道Java面试题,跟我走,offer有!
  • 实战:基于Spring Boot快速开发RESTful风格API接口
  • 使用前端开发工具包WijmoJS - 创建自定义DropDownTree控件(包含源代码)
  • 思否第一天
  • 带你开发类似Pokemon Go的AR游戏
  • 翻译 | The Principles of OOD 面向对象设计原则
  • 如何用纯 CSS 创作一个菱形 loader 动画
  • ​ssh-keyscan命令--Linux命令应用大词典729个命令解读
  • ​草莓熊python turtle绘图代码(玫瑰花版)附源代码
  • ###STL(标准模板库)
  • #162 (Div. 2)
  • (03)光刻——半导体电路的绘制
  • (16)Reactor的测试——响应式Spring的道法术器
  • (NO.00004)iOS实现打砖块游戏(九):游戏中小球与反弹棒的碰撞
  • (三)终结任务
  • .NET 4 并行(多核)“.NET研究”编程系列之二 从Task开始
  • .NET 反射的使用
  • .net 生成二级域名
  • .NET开发者必备的11款免费工具
  • @vue/cli 3.x+引入jQuery
  • [ 云计算 | AWS 实践 ] 基于 Amazon S3 协议搭建个人云存储服务
  • [BUUCTF 2018]Online Tool
  • [C# 基础知识系列]专题十六:Linq介绍
  • [C++从入门到精通] 14.虚函数、纯虚函数和虚析构(virtual)
  • [CISCN2019 华北赛区 Day1 Web5]CyberPunk --不会编程的崽
  • [Cocoa]iOS 开发者账户,联机调试,发布应用事宜
  • [iOS]让Xcode 4.2生成的app支持老的iOS设备(armv6)
  • [js高手之路] dom常用API【appendChild,insertBefore,removeChild,replaceChild,cloneNode】详解与应用...
  • [MYSQL]mysql将两个表结果合并到一起
  • [Node + Docker] 聊聊怎么把 nodeclub 构建成 Docker 镜像
  • [one_demo_12]递归打印*\n*.*.\n*..*..\n图形