iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >NodeJS Express如何使用ORM模型访问关系型数据库
  • 396
分享到

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

2023-07-05 00:07:42 396人浏览 八月长安
摘要

这篇文章主要介绍了nodejs Express如何使用ORM模型访问关系型数据库的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇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模型访问关系型数据库”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网精选频道。

--结束END--

本文标题: NodeJS Express如何使用ORM模型访问关系型数据库

本文链接: https://www.lsjlt.com/news/348249.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • NodeJS Express如何使用ORM模型访问关系型数据库
    这篇文章主要介绍了NodeJS Express如何使用ORM模型访问关系型数据库的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇NodeJS Express如何使用ORM模型访问关系型数据库文...
    99+
    2023-07-05
  • NodeJSExpress使用ORM模型访问关系型数据库流程详解
    目录一、ORM模型二、在Node中ORM的实现一、ORM模型 设计思想,主要目的是简化计算机程序访问数据库 1、ORM:对象关系模型(对象关系映射) Object Releastio...
    99+
    2023-01-10
    NodeJS Express访问关系型数据库 NodeJS ORM模型访问关系型数据库
  • 定义数据模型&访问数据库
    定义数据模型一、Django定义数据模型在App中的models.py文件,数据库的表名称以类的形式来定义:[root@133 web]# cd /opt/python/dja...
    99+
    2024-04-02
  • 数据库之关系模型介绍
    关系模型是一种用于描述和管理数据的概念模型,它通过定义实体、属性和实体之间的关系来组织数据。关系模型是数据库领域最为常用和广泛应用的...
    99+
    2023-09-21
    数据库
  • Cassandra的数据模型与关系型数据库有什么不同
    Cassandra的数据模型与关系型数据库有以下几点不同之处: 数据存储方式:Cassandra采用分布式的方式存储数据,数据按...
    99+
    2024-04-02
  • 如何使用ADO.NET对象模型数据库
    这篇文章主要介绍如何使用ADO.NET对象模型数据库,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!如果直接使用ADO.NET对象模型,当知道要做什么修改的时候,该知道如何插入新的记录,或者修改、删除已经存在的记录,看...
    99+
    2023-06-17
  • 关系数据库模型是什么样的
    这篇文章将为大家详细讲解有关关系数据库模型是什么样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。关系数据库模型是现代数据库技术的基础,它使这一领域具有了科...
    99+
    2024-04-02
  • 数据库关系模型有哪些特点
    数据库关系模型的特点有:1. 结构化:关系模型是一种结构化的模型,将数据组织成表的形式,每个表都有特定的列和行。2. 独立性:关系模...
    99+
    2023-10-10
    数据库
  • 数据库模型的进化论:从关系模型到面向对象模型再到云端模型
    关系模型是最常用的数据库模型,它以其良好的语义关系和较成熟的技术受到广泛欢迎,但是关系模型也存在一些问题,比如复杂的关系查询需要多次join操作,效率低下;难以表达复杂的数据结构,如树形结构、图结构等;缺乏对并发的支持等。 面向对象模型...
    99+
    2024-02-11
    关系模型 面向对象模型 云端模型 sql nosql json
  • 数据库关系模型的概念是什么
    数据库关系模型是一种用于描述和组织数据库中数据的概念模型。它基于数学关系理论,主要用于定义数据之间的逻辑关系,以及数据的组织和操作方...
    99+
    2023-10-10
    数据库
  • mysql client如何操作MySQL关系型数据库
    这篇文章主要介绍了mysql client如何操作MySQL关系型数据库,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。主要讲解mysqlclient操作MySQL关系型数据库...
    99+
    2023-06-02
  • 数据库表中关系模型结构有哪些
    这篇文章主要介绍了数据库表中关系模型结构有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一个关系数据库表中的各条记录前后顺序可以任意颠倒...
    99+
    2024-04-02
  • 怎么使用Mysql来管理关系型数据库
    这篇文章主要讲解了“怎么使用Mysql来管理关系型数据库”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用Mysql来管理关系型数据库”吧! ...
    99+
    2023-04-21
    mysql 数据库
  • 常用的关系型数据库是什么
    小编给大家分享一下常用的关系型数据库是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!关系数据库,是建立在关系模型基础上的数据...
    99+
    2024-04-02
  • 数据库管理系统的关系模型结构是什么
    了解数据库管理系统的关系模型结构是什么?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!关系数据库管理系统所管理的关系是若干个...
    99+
    2024-04-02
  • ADO.NET中如何使用连接模式访问数据库中的数据
    本篇内容介绍了“ADO.NET中如何使用连接模式访问数据库中的数据”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!ADO.NET框架支持两种模...
    99+
    2023-06-17
  • PHP中如何使用对象-关系映射(ORM)简化数据库操作?
    使用 orm 可简化 php 中的数据库操作,它将对象映射到关系数据库中。laravel 中的 eloquent orm 允许使用面向对象的语法与数据库交互,可通过定义模型类、使用 el...
    99+
    2024-05-07
    php orm laravel 博客系统
  • 如何理解关系型数据库的约束机制
    这篇文章将为大家详细讲解有关如何理解关系型数据库的约束机制,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一. 关系型数据库市场上主流的关系型数据库:Orac...
    99+
    2024-04-02
  • ASP.NET Core如何使用EF为关系数据库建模
    本文小编为大家详细介绍“ASP.NET Core如何使用EF为关系数据库建模”,内容详细,步骤清晰,细节处理妥当,希望这篇“ASP.NET Core如何使用EF为关系数据库建模”文章能帮助大家解决疑惑,下面跟着小编的思路...
    99+
    2023-06-29
  • 如何在Laravel中使用对象关系映射(ORM)进行数据库操作?
    Laravel是一款流行的PHP框架,它提供了许多方便的工具和库来简化Web应用程序的开发过程。其中一个重要的工具就是对象关系映射(ORM),它可以帮助开发人员在Laravel中进行数据库操作。 ORM是一种将关系型数据库中的表映射到面向对...
    99+
    2023-09-25
    编程算法 laravel 对象
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作