##SQL语句方式

NodeJs操作数据库

  1. 安装NodeJs操作mysql的连接器

npm install mysql

操作数据库的方式(SQL,ORM)

  1. 通过SQL语句操作数据库

image.png

  1. 通过ORM方式操作数据库(不用写SQL语句)更安全

通过操作对象的方式操作数据库
image.png

安装:npm install sequelize npm install mysql2
image.pngimage.pngimage.png
image.pngimage.png

  • 因为在复杂的场景,ORM方式很难实现。另外ORM方式也不利于性能调优。所有很多时候我们还是需要裸写SQL。
  • ORM的性能没有裸写SQL语句高。
  • 隐藏了数据访问细节,提高开发效率。
  • ORM默认防SQL注入,使用裸SQL配合一些规范也可 以避免注入,但是一旦不遵循规范仍是危险的。

    API文档

    http://docs.sequelizejs.com

    SQL语句安全性

  • 用户输入的内容除了参数还有可能是另外一句SQL语句,直接拼接到SQL语句上就会直接执行用户输入的SQL语句。

  • SQL语句虽然很容易被注入攻击,单只有做好做好参数检验和特殊字符转义,是可以从根本上杜绝SQL注入攻击。
  • 用户是可以要过页面直接给后台发送请求的。所以单纯在页面上做校验并不安全。

    ##提供结果数据

    连接池

    image.pngimage.png
    image.png