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

医疗做网站做网站公司昆明

医疗做网站,做网站公司昆明,灯饰 技术支持 东莞网站建设,edu网站开发一、认识mysql2 如何可以在Node的代码中执行SQL语句来#xff0c;这里我们可以借助于两个库#xff1a; mysql#xff1a;最早的Node连接MySQL的数据库驱动#xff1b;mysql2#xff1a;在mysql的基础之上#xff0c;进行了很多的优化、改进#xff1b;目前相对来说这里我们可以借助于两个库 mysql最早的Node连接MySQL的数据库驱动mysql2在mysql的基础之上进行了很多的优化、改进目前相对来说我更偏向于使用mysql2mysql2兼容mysql的API并且提供了一些附加功能 更快/更好的性能Prepared Statement预编译语句 提高性能将创建的语句模块发送给MySQL然后MySQL编译解析、优化、转换语句模块并且存储它但是不执行之后我们在真正执行时会给?提供实际的参数才会执行就算多次执行也只会编译一次所以性能是更高的 防止SQL注入之后传入的值不会像模块引擎那样就编译那么一些SQL注入的内容不会被执行or 1 1不会被执行 支持Promise所以我们可以使用async和await语法 所以后续的学习中会选择mysql2在node中操作数据。 二、使用mysql2 安装mysql2mysql2的使用过程如下 第一步创建连接通过createConnection并且获取连接对象 第二步执行SQL语句即可通过query const mysql require(mysql2)// 1. 创建数据库连接 const connection mysql.createConnection({host: localhost,port: 3306,database: coderhub,user: root,password: root })// 2. 执行sql语句 const statement select * from products where price 9000 connection.query(statement, (err, results, fields) {// console.log(err)console.log(results)// console.log(fields)// connection.end()connection.destroy() }) 三、Prepared Statement Prepared Statement预编译语句 提高性能将创建的语句模块发送给MySQL然后MySQL编译解析、优化、转换语句模块并且存储 它但是不执行之后我们在真正执行时会给?提供实际的参数才会执行就算多次执行也只会编译一次所 以性能是更高的防止SQL注入之后传入的值不会像模块引擎那样就编译那么一些SQL注入的内容不会被执行or 1 1不 会被执行 强调如果再次执行该语句它将会从LRULeast Recently Used Cache中获取获取省略了编译statement的时间来提高性能。 四、Connection Pools 前面我们是创建了一个连接connection但是如果我们有多个请求的话该连接很有可能正在被占用那么我们是否需要每次一个请求都去创建一个新的连接呢 事实上mysql2给我们提供了连接池connection pools连接池可以在需要的时候自动创建连接并且创建的连接不会被销毁会放到连接池中后续可以继续使用我们可以在创建连接池的时候设置LIMIT也就是最大创建个数 五、Promise方式 目前在JavaScript开发中我们更习惯Promise和await、async的方式mysql2同样是支持的 六、认识ORM 对象关系映射英语Object Relational Mapping简称ORM或O/RM或O/R mapping是一种程序设计的方案 从效果上来讲它提供了一个可在编程语言中使用 虚拟对象数据库 的效果比如在Java开发中经常使用的ORM包括Hibernate、MyBatis Node当中的ORM我们通常使用的是 sequelize; Sequelize是用于PostgresMySQLMariaDBSQLite和Microsoft SQL Server的基于Node.js 的 ORM它支持非常多的功能 如果我们希望将Sequelize和MySQL一起使用那么我们需要先安装两个东西 mysql2sequelize在操作mysql时使用的是mysql2sequelize使用它来让对象映射到表中 npm install sequelize mysql2 七、Sequelize的使用 Sequelize的连接数据库 第一步创建一个Sequelize的对象并且指定数据库、用户名、密码、数据库类型、主机地址等第二步测试连接是否成功 八、Sequelize映射关系表 const { Sequelize, DataTypes, Model, Op } require(sequelize) const sequelize new Sequelize(coderhub, root, root, {host: localhost,dialect: mysql }) class Product extends Model {} Product.init({id: {type: DataTypes.INTEGER,primaryKey: true,autoIncrement: true},title: {type: DataTypes.STRING,allowNotNull: false},price: DataTypes.DOUBLE,score: DataTypes.DOUBLE }, {tableName: products,createdAt: false,updatedAt: false,sequelize }) async function queryProducts() {// 1. 查询数据库中products表中的所以内容/*const result await Product.findAll({where: {price: {[Op.gte]: 9000}}})console.log(result)*/// 2. 插入数据/*const result await Product.create({title: 三星zep,price: 99999,score: 10})console.log(result)*/const result await Product.update({price: 3333}, {where: {id: 1}})console.log(result) } queryProducts() 九、Sequelize 一对多关系 十、Sequelize多对多关系
http://wiki.neutronadmin.com/news/135495/

相关文章:

  • 网站建设 文件源代码约定搜索大全引擎入口
  • 网站建设开发价格高吗wordpress 产品页 如何关联
  • 建站之星演示网站模版 百度云
  • 个人网站托管页面设计平台
  • 原创网站模版什么是网络设计图
  • 手机网站首页怎么做网站开发的招标参数
  • 国内 响应式网站网站在百度的标头不对
  • 铁路项目建设 网站wordpress 导航栏登录
  • 没有备案的网站百度不收录商业网页设计培训
  • 找培训机构的网站百度公司官方网站
  • 成品网站w灬源码伊甸3m8uui设计培训学费多少
  • 南京哪个网站建设比较好东莞关键词优化效果
  • php网站开发外文深圳专业做网站的公司哪家好
  • 网站备份还原杭州市建设工程质量安全监督总站网站
  • 做毕业设计个人网站任务书汕尾北京网站建设
  • 友情链接交换工具seo公司哪家便宜
  • 株洲外贸网站建设WordPress文章过滤
  • 长沙网站托管seo优化公司企业网站wordpress
  • 怎么才能找到想做网站建设的客源农业信息网站建设
  • 网站建设结构设计seo金融术语
  • 乔拓云智能建站平台朋友圈推广
  • 建站资源js 网站简体繁体
  • 红花岗区建设局网站常用的设计软件有哪些
  • 电商网站建设推荐阿里巴巴网站域名
  • 管理系统网站免费下载百度app最新版本
  • 网站空间哪个好品牌建设总结
  • 老鹰主机 建wordpress重庆百度整站优化
  • 做旅游网站的任务成都网站建设网
  • amp 网站开发网站做支付系统
  • 什么叫个人网站软件网站查询域名ip查询