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

佛山营销手机网站建设一些做的好的网站

佛山营销手机网站建设,一些做的好的网站,德吉机械东莞网站建设,做行业网站投资多少一、认识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://www.yutouwan.com/news/309766/

相关文章:

  • 织梦网站模板制作ui设计包括哪些
  • 手机网站推荐哪些九江哪家网站建设公司好
  • 免费网站建设多少钱网站开发流程
  • 家居网站关键词怎么做网络营销的有形层
  • 网站设计时间建设电商网站的
  • 网站上怎么做通栏的图片贵阳网站建设制作公司
  • 上海网站建设 网站开电影网站页面seo
  • 医疗设计网站建设网站建设偶像
  • 怎样建设企业网站 用于宣传google提交网站入口
  • 微信小说网站开发江门门户网站
  • 网站关键词工具有哪些哪里能学网页设计
  • 哈尔滨哪里做网站好连云港网站 建设
  • 做网站图片属性百度怎么建设网站
  • 怎样做网站分流赚钱襄汾网站建设
  • 新建的网站百度搜索不到怎样建立网站ip地址
  • c .net网站开发网站设计高度
  • 做网站 就上微赞网科技型中小企业认定官网
  • 宣传型网站建设网站建设需准备什么
  • 网站都有什么类型的邯郸网站设计建设
  • 郏县网站制作公司喀什的网站怎么做
  • 单位网站建设的请示找工作附近上8小时的双休
  • 实现微信绑定登录网站网站首页图片切换
  • 福州网站建设服务公司免费开源网站系统
  • 网站 前台 设计要求搭建h5流程
  • 万维网网站域名续费鞍山做网站优化
  • 做门户网站服务器选择企业建站服务器
  • 花瓣按照哪个网站做的网站建设 保定
  • 网站开发咨询网站上传照片 传不上去
  • 芜湖门户网站建设多少钱搜索引擎网站
  • 做流量网站挂广告还能挣钱吗域名历史记录查询