Sequelize的简单连接和使用

Sequelize是一个基于Node.js的ORM框架

特点:

  • 1、支持多种数据库:Sequelize支持多种关系型数据库,包括MySQL、PostgreSQL、SQLite和MSSQL等,适用于需要在不同数据库间切换或者兼容多种数据库的项目。

  • 2、强大的查询功能:Sequelize具有丰富的查询功能,支持复杂的查询条件、关联查询和事务处理等,可以满足大部分常见的数据库操作需求。

  • 3、全面的文档和社区支持:Sequelize拥有完善的官方文档和活跃的社区,提供了大量的示例代码和解决方案,便于学习和问题解决。
    https://www.sequelize.cn/core-concepts/getting-started

基本使用:

const Sequelize = require('sequelize');

//方法一/单独传递参数
// const sequelize = new Sequelize('数据库账号', '数据库名字', '数据库密码', {
//     host: 'localhost',
//     dialect: 'mysql'
// });

// 方法二:传递连接URI
// const sequelize = new Sequelize('mysql://数据库账号:数据库密码@localhost:3306/数据库名字',{
//     timestamps:false //指定不自动创建createdAt和 updatedAt字段
// })


// 连接池(生产环境)
const sequelize = new Sequelize('数据库名字', '数据库账号', '数据库密码', {
    host: 'localhost',
    dialect: 'mysql', // 或者其他你使用的数据库类型,如'postgres'、'sqlite'等
    pool: {
        max: 5, // 最大连接数
        min: 0, // 最小空闲连接数
        acquire: 30000, // 获取连接的超时时间(毫秒)
        idle: 10000 // 连接空闲的超时时间(毫秒)
    }
});

//测试连接
sequelize
    .authenticate()
    .then(() => {
        console.log('Connection has been established successfully')
    })
    .catch(err => {
        console.log('unable to connect to the database:', err)
    })

const Model = Sequelize.Model;
class User extends Model {}
User.init({
    //attributes
    firstName: {
        type: Sequelize.STRING,
        allowNull: false
    },
    lastName: {
        type: Sequelize.STRING
    }
}, {
    sequelize,
    modelName: 'user',
    timestamps: true  //true为创建createdAt和updatedAt字段
})


posted @ 2023-08-08 19:16  news_one  阅读(327)  评论(0编辑  收藏  举报