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

怎么建造个人网站南昌网站建设和推广

怎么建造个人网站,南昌网站建设和推广,wordpress插件怎么打开,二级网站有什么好处便捷性介绍 支持多种数据库#xff0c;包括 PostgreSQL、MySQL、MariaDB、SQLite 和 Microsoft SQL Server。Sequelize 提供了丰富的功能#xff0c;帮助开发者用 JavaScript#xff08;或 TypeScript#xff09;代码操作数据库#xff0c;而无需直接书写 SQL 语句。 Se…便捷性介绍 支持多种数据库包括 PostgreSQL、MySQL、MariaDB、SQLite 和 Microsoft SQL Server。Sequelize 提供了丰富的功能帮助开发者用 JavaScript或 TypeScript代码操作数据库而无需直接书写 SQL 语句。 Sequelize 的主要特点 跨数据库支持支持主流数据库如 MySQL、PostgreSQL、SQLite 等。 模型Model定义通过定义模型类似于类对应数据库的表。 迁移Migrations工具方便管理数据库的版本变化。 事务支持提供事务操作确保数据一致性。 查询生成器支持链式查询和条件查询生成高效的 SQL 语句。 钩子Hooks支持生命周期钩子方便在特定操作前后执行代码。 基本使用介绍 安装 Sequelize 和数据库驱动 npm install sequelize npm install mysql2 # 对于 MySQL创建实例 const { Sequelize } require(sequelize);// 创建与数据库的连接实例 const sequelize new Sequelize(database_name, username, password, {host: localhost,dialect: mysql, // 数据库类型可更换为 postgres, sqlite, mssql 等logging: false, // 是否打印 SQL 日志 }); 同步模型到数据库 将模型与数据库表同步 (async () {try {await sequelize.authenticate(); // 验证连接是否成功console.log(连接建立成功);await sequelize.sync({ force: true }); // 同步模型force: true 表示重建表console.log(所有异步模型成功.);} catch (error) {console.error(不能连接到数据库, error);} finally {await sequelize.close(); // 关闭数据库连接} })(); 定义模型:相当于是在建数据表 模型是 Sequelize 的核心用来描述数据库的表结构 const { DataTypes } require(sequelize);const User sequelize.define(User, {id: {type: DataTypes.INTEGER,autoIncrement: true,primaryKey: true,},username: {type: DataTypes.STRING,allowNull: false,},email: {type: DataTypes.STRING,unique: true,},password: {type: DataTypes.STRING,}, }, {tableName: users, // 指定表名timestamps: true, // 是否自动生成 createdAt 和 updatedAt 字段 }); 数据操作增删改查 //创建数据 const newUser await User.create({username: JohnDoe,email: johndoeexample.com,password: 123456, }); console.log(newUser.toJSON());// 查询所有用户 const users await User.findAll(); console.log(users);// 按条件查询 const specificUser await User.findOne({ where: { username: JohnDoe } }); console.log(specificUser);//更新数据 await User.update({ email: newemailexample.com }, {where: { username: JohnDoe }, });//删除数据 await User.destroy({where: { username: JohnDoe }, }); 其他基本数据库操作 关联Associations Sequelize 支持表之间的关系一对一 (1:1)、一对多 (1:N)、多对多 (N:M)。 const Post sequelize.define(Post, { title: DataTypes.STRING }); User.hasMany(Post); // 一个用户有多个帖子 Post.belongsTo(User); // 一个帖子属于一个用户事务Transactions const t await sequelize.transaction();try {const user await User.create({ username: Jane }, { transaction: t });await t.commit(); // 提交事务 } catch (error) {await t.rollback(); // 回滚事务 }生命周期钩子Hooks User.beforeCreate((user, options) {console.log(Before creating user:, user.username); });原生查询 如果需要执行原生 SQL可以使用 sequelize.query。 const [results, metadata] await sequelize.query(SELECT * FROM users);具体项目案例 现在要实现一个用户认证模块以node为后端数据库是确定的但是不在数据库当中建任何表全依靠Sequelize进行 src/config/db.js后端数据库连接 const { Sequelize } require(sequelize)// 使用 Sequelize 连接 MySQL // 这里配置数据库名称、用户名、密码、主机和方言 const sequelize new Sequelize(project, root, 123456, {host: localhost,dialect: mysql, })/*** 连接数据库的异步函数* 尝试验证与数据库的连接如果成功则打印确认消息* 如果连接失败则打印错误消息并退出进程*/ const connectDB async () {try {await sequelize.authenticate()console.log(MySQL Connected)} catch (err) {console.error(Unable to connect to the database:, err.message)process.exit(1)} }// 导出 sequelize 实例和 connectDB 函数供外部使用 module.exports { sequelize, connectDB }src/modules/User.js用户模型-用户数据表定义建立 const { Sequelize, DataTypes } require(sequelize) const bcrypt require(bcrypt) const { sequelize } require(../config/db)// 定义 User 模型 const User sequelize.define(User, {username: {type: DataTypes.STRING,allowNull: false,unique: true,},password: {type: DataTypes.STRING,allowNull: false,}, })// 在保存用户之前加密密码 User.beforeCreate(async (user) {user.password await bcrypt.hash(user.password, 10) })module.exports User src/app.js程序入口 //dotenv 是一个用于 加载环境变量 的 Node.js 模块它会从项目根目录的 .env 文件中读取环境变量并将其添加到 process.env 对象中 //开发者就可以通过 process.env.变量名 来访问环境变量。 require(dotenv).config() const express require(express) //---------------------数据库部分------------------------------------------------------------------------------- const { connectDB, sequelize } require(./config/db) const app express()// 初始化数据库连接 connectDB()// 同步数据库表结构sequelize.sync 会同步模型与数据库表。alter: true 会根据模型的定义修改数据库表结构谨慎使用于生产环境。 sequelize.sync({ alter: true }).then(() {console.log(数据库和表结构已经同步成功) }) //--------------------------------------------------------------------------------------------------------------- //express.json() 是一个中间件用于解析 JSON 格式的请求体。 app.use(express.json())//通过 process.env.PORT 读取 .env 文件中配置的端口号如果未定义则默认使用 5000 const PORT process.env.PORT || 5000 app.listen(PORT, () console.log(Server running on port ${PORT}))// app.use(/api/auth, authRoutes)当访问 /api/auth 路径时将由 authRoutes 处理请求。 // 这是模块化路由的常见实现方式。 const authRoutes require(./routes/authRoutes)app.use(/api/auth, authRoutes) 其他一些可能用得上的功能 支持原始 SQL 查询 const results await sequelize.query(SELECT * FROM Users WHERE username :username, {replacements: { username: JohnDoe },type: QueryTypes.SELECT, }); 高级查询 条件查询 const users await User.findAll({where: {username: {[Op.like]: J%,},}, }); 分页与排序 const users await User.findAll({ limit: 10, offset: 20, order: [[username, ASC]] });还有数据迁移和数据库连接池此处就不讲了 此处提供 官方文档: https://sequelize.org/ GitHub 仓库: https://github.com/sequelize/sequelize Sequelize 是一个功能全面的 ORM 工具它简化了数据库操作支持多种数据库类型。通过模型定义、查询构建、事务管理和数据库迁移开发者可以高效地处理复杂的数据管理需求。如果你的项目需要频繁的数据库操作或希望避免直接使用 SQLSequelize 是一个值得选择的解决方案。
http://www.hkea.cn/news/14500252/

相关文章:

  • 做视频教学网站如何做做网站用什么语言开发
  • 最牛视频网站建设网站关键词优化多少钱
  • 做公司网站要注意哪些问题凡科网商城
  • 优秀网站设计流程理财公司网站模板下载
  • 网站怎么做营销策划南通制作手机网站
  • mq网站开发电商有什么平台
  • 网站 服务器选择网页设计网站期末作业
  • 长沙网站制作公司地址提高手机性能的黑科技软件
  • wordpress改不了语言优化游戏性能的软件
  • 宝塔面板建设网站南宁培训网站建设
  • 一个好的网站怎样布局医院网站可以自己做吗
  • 论坛网站制作模板做班级相册网站的目的意义
  • 陕西哪些公司做企业网站怎样做app网站建设
  • 网上做网站资金大概多少软件开发方式
  • 自己做发卡网站支付接口网站推广的优缺点
  • 网站建设费如何核算wordpress文章奇偶循环
  • 杂志在线设计网站网站收录不好排名高
  • 申请网站建设的报告wordpress搭建内网导航
  • 南昌百度推广优化排名徐州专业网站seo
  • 用wordpress建仿站dtu网站开发
  • wordpress非代码方式添加备案号seo的含义
  • 个人网站备案需要哪些材料免费微网站有哪些
  • 网站建设哪便宜vps试用30天
  • 网页设计和网站开发的区别百度竞价的定义
  • 网站 视觉冲击深圳建设集团有限公司地址
  • 做汽车团购的网站建设网站做全局搜索
  • 深色网站常用的网页编辑软件有哪些
  • 网站维保方法珠海建设信息网站
  • 在公司网站建设会议上的汇报建设厅网站装修合同模板
  • 浙江建设厅网站首页wordpress固定链接打不开