我的编程空间,编程开发者的网络收藏夹
学习永远不晚

NodeJS Express如何使用ORM模型访问关系型数据库

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

NodeJS Express如何使用ORM模型访问关系型数据库

这篇文章主要介绍了NodeJS Express如何使用ORM模型访问关系型数据库的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇NodeJS Express如何使用ORM模型访问关系型数据库文章都会有所收获,下面我们一起来看看吧。

一、ORM模型

设计思想,主要目的是简化计算机程序访问数据库

ORM:对象关系模型(对象关系映射) Object Releastion Model,将程序中的对象和数据库中关系(表格)进行映射。可以使开发者在程序中方便的对数据库进行操作(用户在程序操作对对象实际就是操作数据库的表格)

ORM的映射关系:

(1)程序中的模型(即为类) <&mdash;&mdash;>表名

(2)模型的类型(类中定义的属性)<&mdash;&mdash;> 表的列

(3)由模型创建的对象(类的实例) <&mdash;&mdash;> 表中的行

二、在Node中ORM的实现

Sequelize模块:支持ORM映射的模块,可以访问关系型数据库,可以提高node程序访问数据库的开发效率。

Sequelize模块的使用:

(1)安装MySQL模块:npm install mysql2

(2)安装Sequelize模块:npm install sequelize

Sequelize模块的使用

(1)创建数据库的配置文件

导入

创建数据库的配置对象

//1.导入Sequelize模块const Sequelize = require('sequelize');//2.使用Sequelize模块配置和数据库的连接信息const mysql_Sequelize = new Sequelize('sales','root','syy2589',{    host:'localhost', //数据库服务器的IP地址或域名    port:'3306', //数据库使用的端口号,MySQL数据库默认端口号3306    dialect: 'mysql', //数据库的类型    pool:{  //数据库连接池:可以放若干个数据库的连接对象,提高数据库访问效率        max:20, //数据库连接池中连接对象的最大个数        min:3, //数据库连接池中连接对象的最少个数        idle:20000 //等待延迟的时间,单位:毫秒    },    define:{        'charset':'utf8' //处理MySQL中中文字符的问题    }})// 3.导出数据库的连接对象module.exports = mysql_Sequelize;

注:new Sequelize(数据库名,用户名,密码,(配置信息))

 测试数据库是否连接成功

const mysqltest = require('./mysqlconfig.js');mysqltest.authenticate() //用来测试数据库是否连接成功    .then(()=>{        console.log('数据库连接成功~')    })    .catch((err)=>{        console.error(err);    })

(2)创建模型:实现模型和数据表的映射

模型名 = sequelize.define('数据表名','模型的属性',{其他配置})

模型名 <&mdash;&mdash;> 数据表名

模型的属性<&mdash;&mdash;> 数据表列

const  Sequelize = require(sequelize);//1.导入数据库的配置对象const mysql_Sequelize = require('../config/mysqlconfig.js');// 2.创建模型与数据库中的表实现映射const Employee = mysql_Sequelize.define('employee',{    'e_id':{        type:Sequelize.STRING,        // type:Sequelize.INTEGER, 表示id的数据类型为int型        autoIncrement:false, //表示id的值在表中是否自增        allowNull:false, //表示id对象的值不能为空        fields:'e_id',//实现模型的属性名和表的列名之间的映射关系(对应关系)    },    'e_name':{        type:Sequelize.STRING,        autoIncrement:false,        allowNull:false,        fields: 'e_name',    },    'sex':{        type:Sequelize.STRING,        autoIncrement:false,        allowNull:false,        fields: 'sex',    },    'apartment':{        type:Sequelize.STRING,        autoIncrement:false,        allowNull:true,        fields: 'apartment',    },    'phone':{        type:Sequelize.STRING,        autoIncrement:false,        allowNull:true,        fields: 'phone',    },    'address':{        type:Sequelize.STRING,        autoIncrement:false,        allowNull:true,        fields: 'address',    },},{    freezeTableName:true, //不使用Sequelize给模型自定义的表名(自定义表名的命名规则:模型名后加s)    timestamps:false //若为true,在获取数据时会自动添加两列数据(createTime、updateTime)});// 导出模型module.exports = Employee;

(3)创建接口文件:使用模型创建数据表

1️⃣插入记录

模型名.create({ }).then((result)=>{}):then表示插入操作完成后的处理,result参数中保存有数据库返回的信息

// http://localhost:9000/employee/addempEmprouter.post('/addemp',(req,res)=>{    console.log(req.body);    Employee.create({        id:req.body.id,        name:req.body.name,        sex:req.body.sex,        apartment:req.body.apartment,        phone:req.body.phone,        address:req.body.address    }).then((result)=>{        if(result){            res.json({                code:1002            })        }    })})

(4)前端页面:使用jQuery向服务器端发起ajax请求

1️⃣表单序列化:表单名.serizlize(),作用是将表单中所有控件的值序列化成字符串

NodeJS Express如何使用ORM模型访问关系型数据库

NodeJS Express如何使用ORM模型访问关系型数据库

2️⃣删除记录

模型名:destroy({

where:{

列名:值

}

}).then((result)=>{

删除成功后的回调

}

3️⃣ 更新记录

模型名.update({修改的列},{where条件}.then((result)={

更新成功后的回调

}).catch((e)=>{

出现异常的回调

})

4️⃣ 查询记录

模型名.findAll().then((result)=>{ //result:是一个数组,存放的是从数据库中查询的所有记录

查询成功后的回调

}).catch((e)=>{

执行查询出现异常的回调

}

Emprouter.get('/findemp',(req,res)=>{    if(req.url != './favicon.ico'){        Employee.findAll().then((result)=>{            res.send(JSON.stringify(result));        })    }})

5️⃣ 模糊查询:

在执行带条件查询时,需要导入Sequelize模块的Op子模块,在Op子模块中存放的是所有条件查询的关键字。

const Op = require('sequelize').Op;
Emprouter.post('/findlike',(req,res)=>{    // 获取前端发送的部门    let apartment = req.body.apartment;    // 进行模糊查询    Employee.findAll({        where:{            apartment:{                [Op.like]:apartment+'%'            }        }    }).then((result)=>{        res.json(result);    }).catch((e)=>{        console.log(e);        res.json('查询失败~')    })})

关于“NodeJS Express如何使用ORM模型访问关系型数据库”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“NodeJS Express如何使用ORM模型访问关系型数据库”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

NodeJS Express如何使用ORM模型访问关系型数据库

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

NodeJS Express如何使用ORM模型访问关系型数据库

这篇文章主要介绍了NodeJS Express如何使用ORM模型访问关系型数据库的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇NodeJS Express如何使用ORM模型访问关系型数据库文章都会有所收获,下面
2023-07-05

NodeJSExpress使用ORM模型访问关系型数据库流程详解

这篇文章主要介绍了NodeJSExpress使用ORM模型访问关系型数据库流程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
2023-01-10

Sphinx搜索与关系型数据库的集成应用(Sphinx如何与关系型数据库结合使用?)

Sphinx,一个开源全文搜索引擎,可与关系型数据库集成以增强搜索功能。这种集成提供快速、相关性高的搜索,可扩展性、灵活的查询语法等优势。通过创建索引、轮询更新和集成到应用程序中,开发人员可以利用Sphinx的强大功能,从而改善用户体验、提高效率并获得更深入的数据洞察。Sphinx在电子商务、媒体和医疗保健等行业中得到广泛应用。
Sphinx搜索与关系型数据库的集成应用(Sphinx如何与关系型数据库结合使用?)
2024-04-02

如何使用ADO.NET对象模型数据库

这篇文章主要介绍如何使用ADO.NET对象模型数据库,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!如果直接使用ADO.NET对象模型,当知道要做什么修改的时候,该知道如何插入新的记录,或者修改、删除已经存在的记录,看
2023-06-17

Xunsearch搜索与关系型数据库的集成应用(如何将Xunsearch搜索与关系型数据库集成使用?)

通过将开源全文搜索引擎Xunsearch与关系型数据库集成,企业可以实现强大的搜索功能。集成过程包括创建索引、定义字段、导入数据和执行查询。集成的好处包括提高搜索性能、支持复杂搜索、可扩展性和数据冗余。具体应用场景包括电子商务、内容管理、CRM和数据分析。实现指南建议选择合适字段、优化结构、定期更新、优化查询和监控性能。
Xunsearch搜索与关系型数据库的集成应用(如何将Xunsearch搜索与关系型数据库集成使用?)
2024-04-02

Elasticsearch分布式搜索与关系型数据库的集成应用(如何将Elasticsearch分布式搜索与关系型数据库集成使用?)

Elasticsearch分布式搜索与关系型数据库集成可增强搜索能力、丰富数据、优化性能和提高灵活性。集成方法包括数据复制、同步、Join查询和混合查询。在电子商务、日志分析、客户服务和社交媒体分析等领域有广泛应用。最佳实践包括适当的数据分割、格式化、高可用性和监控。
Elasticsearch分布式搜索与关系型数据库的集成应用(如何将Elasticsearch分布式搜索与关系型数据库集成使用?)
2024-04-02

如何使用 ORM(对象关系映射)简化 PHP 数据库连接?

使用 orm 简化 php 数据库连接,将关系数据库中的表和数据映射到应用程序中的对象,可极大简化与数据库的交互。orm 的好处包括简化的 crud 操作、自动映射、对象关系和提高可维护性。实战案例:使用 doctrine 框架在 php
如何使用 ORM(对象关系映射)简化 PHP 数据库连接?
2024-05-21

ADO.NET中如何使用连接模式访问数据库中的数据

本篇内容介绍了“ADO.NET中如何使用连接模式访问数据库中的数据”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!ADO.NET框架支持两种模
2023-06-17

ASP.NET Core如何使用EF为关系数据库建模

本文小编为大家详细介绍“ASP.NET Core如何使用EF为关系数据库建模”,内容详细,步骤清晰,细节处理妥当,希望这篇“ASP.NET Core如何使用EF为关系数据库建模”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习
2023-06-29

PHP中如何使用对象-关系映射(ORM)简化数据库操作?

使用 orm 可简化 php 中的数据库操作,它将对象映射到关系数据库中。laravel 中的 eloquent orm 允许使用面向对象的语法与数据库交互,可通过定义模型类、使用 eloquent 方法或在实战中构建博客系统等方式来使用
PHP中如何使用对象-关系映射(ORM)简化数据库操作?
2024-05-07

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录