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

网站核心推广思路从哪里可以建公司网站

网站核心推广思路,从哪里可以建公司网站,凡客建设网站稳定吗,网站前端开发培训前言: 这段时间学习了一下Sequelize库,通过这篇文章与大家分享一下学习过程中获得的经验。因为是刚刚才开始学习,可能会有疏忽的地方,欢迎各位大佬在评论区指点指点。 简介: Sequelize是一个基于Node.js的ORM库,支持多…

前言:

        这段时间学习了一下Sequelize库,通过这篇文章与大家分享一下学习过程中获得的经验。因为是刚刚才开始学习,可能会有疏忽的地方,欢迎各位大佬在评论区指点指点。

简介:

        Sequelize是一个基于Node.js的ORM库,支持多种关系型数据,就比如说常用到的MySQL,以及PostgreSQL、SQLite等等。他允许开发者通过JavaScript或TypeScript对象操作数据库,不需要直接编写SQL语句,简化了数据库交互流程,提升开发效率。

核心特征:

1.多数据支持

        兼容主流关系型数据库(如 PostgreSQL、MySQL、SQLite),通过适配不同数据库驱动实现。

2.模型定义

        使用 JavaScript 类或 define 方法定义数据模型,每个模型对应数据库中的一张表。

3.数据关联

        支持一对一、一对多、多对多关联关系(如 belongsTo ,hasMany ,belongsToMany)。

4.事务管理

        提供事务(Transaction)支持,确保复杂操作的原子性。

5.查询构建器

        链式 API 或面向对象方式构建复杂查询(如 findAll ,where ,include 预加载关联数据)。

6.数据验证与钩子

        内置验证器(如 isEmail ,len ),支持自定义验证逻辑和生命周期钩子(如 beforeCreate,afterUpdate)。

7.迁移与同步

        提供 CLI 工具管理数据库迁移(版本控制),也支持 sync() 方法同步模型结构到数据库(适合开发环境)。

8.TypeScript

        完全用 TypeScript 重写,提供类型安全和智能提示。

快速上手:

1.创建数据库

        我是用的 XP.cn 来起的数据库。

        使用 Navicat Premium 新建数据库和表,表名为user,表的结构如下:

idnameage
1张三22

2.下载依赖 

        首先通过 npm init 来初始化一个新的Node.js项目,下载sequelize库,我这边使用的是mysql数据库,因此需要下载mysql。下载顺序如下:

// 初始化
npm init// 导入Sequelize的包文件
npm i sequelize// 导入数据库的驱动包(这里以MySQL为例)
npm i mysql2

3.配置文件

        在根目录下创建一个js文件作为Sequelize的配置文件,我这边命名为 mysql_connection.js。代码如下:

const { Sequelize } = require('sequelize');/*** 创建 Sequelize 实例* 第一个参数:数据库名称* 第二个参数:数据库用户名* 第三个参数:数据库密码*/
const mysql = new Sequelize('db', 'root', 'root', {dialect: 'mysql', // 数据库类型host: 'localhost', // MySQL 主机port: 3306, // MySQL 默认端口pool: {max: 5, // 连接池最大连接数min: 0, // 连接池最小连接数acquire: 30000, // 获取连接的最大等待时间(毫秒)idle: 10000 // 连接在释放之前可以空闲的最长时间(毫秒)}
})

        然后我们可以测试连接是否连接成功。代码如下:

// 测试连接是否成功
mysql.authenticate().then(() => {console.log('Connection has been established successfully.');}).catch(err => {console.error('Unable to connect to the database:', err);});

        在控制台通过 node mysql_connection.js 打印结果,观察结果看是否连接成功。

        连接成功后将测试代码注释掉,并将连接对象mysql导出。

// 将连接对象导出
module.exports = mysql

4.模型文件

        新建文件,我命名为 book_model.js 。在模型文件中定义与数据表user对应的模型。代码如下:
 

const { DataTypes } = require('sequelize')
// 将数据库连接对象导入
const sequelize = require('./mysql_connection')const User = sequelize.define('User', {id: {type: DataTypes.INTEGER,primaryKey: true,unique: true // 同一表中不允许重复的},name: {type: DataTypes.STRING(10), // 表示该字段最多存储 10 个字符allowNull: false},age: {type: DataTypes.INTEGER,allowNull: false,defaultValue: 18 // 若未提供 age,则默认为 18}
}, {tableName: 'user',timestamps: false
});module.exports = User;

5.数据操作

        新建文件,我命名为user_service.js。在该文件中我们可以对数据库中的数据进行操作(增删改查)。代码如下:

const User = require('./book_model')async function runDemo() {try {// 创建用户const newUser = await User.create({id: 2,name: '小明',age: 25});console.log('创建用户:', newUser.toJSON());// 查询所有用户const allUsers = await User.findAll(); console.log('所有用户:', JSON.stringify(allUsers, null, 2));// 更新用户await User.update({ name: '李四' }, { where: { id: 2 } });console.log('用户已更新');// 查询单个用户const user = await User.findOne({ where: { name: '张三' } });console.log('查询用户:', user?.toJSON());// 删除用户await User.destroy({ where: { id: 2 } });console.log('用户已删除');} catch (error) {console.error('操作失败:', error);}}module.exports = { runDemo };

6.主入口文件

        新建文件夹作为主入口文件,我命名为index.js。

        主入口文件是 Node.js 项目的“大脑”,负责统筹全局、管理资源、处理错误,并定义程序的执行流程。它是项目结构的核心,确保代码的组织性和可维护性。

const { runDemo } = require('./user_service')
const mysql = require('./mysql_connection')async function main() {try {await mysql.sync(); // 同步模型console.log('模型已同步');await runDemo();  // 执行业务逻辑示例} finally {// 关闭数据库连接await mysql.close(); // 关闭连接console.log('数据库连接已关闭');}}main();

7.运行

        最后一步就可以把我们的代码运行看看了,通过 node index.js 指令运行。

        通过运行结果可以看到,依次进行了创建用户、查询所有用户、更新用户、查询单个用户、删除用户操作。

总结:

        Sequelize 是一个功能强大且灵活的 Node.js ORM 工具,通过这次学习,我掌握了其基本的使用方法和核心概念。在未来的项目中,我将继续运用 Sequelize,进一步探索其高级特性,如复杂查询优化、数据库迁移等。同时,我也会关注 Sequelize 的更新和发展,不断提升自己在数据库开发方面的能力。

        通过对 Sequelize 的学习和实践,我相信它将为我的开发工作带来更多的便利和效率,也希望我的学习总结能够对其他学习 Sequelize 的开发者有所帮助。

http://www.dtcms.com/wzjs/599208.html

相关文章:

  • 装饰网站建设软件下载网站 刷流量 SEO
  • dede网站如何换源码网站建设规划方案包括
  • 如何自己创办一个网站iis wordpress 500
  • 企业网站建设选择兴田德润园林景观设计公司点评的网站和论坛
  • 庆阳定制网站长椿街网站建设
  • 首页%3e新闻%3e正文 网站怎么做璧山职教中心示范校建设网站
  • 创新的品牌网站建设我的免费网
  • 域名不作网站用途如何申请一个网站域名
  • 微信网站的建立高校网络架构
  • 网络推广网站的方法网站建站图片
  • 网站开发属于什么科目网站开发 职业环境分析
  • 网站文字配色asp 网站开发
  • 国际网站怎么开通深圳住房和建设局网站公开招标
  • 北京 外贸型网站建设做ppt哪个网站好
  • 我的电脑做网站服务器吗厦门网页设计培训
  • 做机械比较好的外贸网站网站版面在线设计
  • 黄冈网站官方登录平台什么做网站赚钱
  • 昆明网站优化公司辣妹子影院电视剧免费播放
  • 文化网站建设需要的功能网站建设费用预算表格
  • 网站设计简单网页青浦网站制作公司
  • 临沂网站制作价格小网站建设
  • 网站建设服务器技术有哪些水果网页制作模板
  • 备案价公示网站wordpress的密码忘记
  • 扁平化设计风格网站wordpress图片替换不掉
  • 给公司做网站 优帮云seo公司哪家便宜
  • 网站支付界面怎么做旅行网站系统
  • 网站每年空间域名费用及维护费医疗网站建设 中企动力
  • .net如何做直播网站上海公司注册的详细流程
  • 快速搭建网站的工具西安软件开发公司
  • 无锡工程建设信息网站网站建设分金手指排名十三