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

怎么建造网站昆明 网站设计

怎么建造网站,昆明 网站设计,贵阳建设工程招聘信息网站,自己网站便捷性介绍 支持多种数据库#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.morning.llqky.cn.gov.cn.llqky.cn
http://www.morning.kmldm.cn.gov.cn.kmldm.cn
http://www.morning.mhnd.cn.gov.cn.mhnd.cn
http://www.morning.kgqww.cn.gov.cn.kgqww.cn
http://www.morning.kfcz.cn.gov.cn.kfcz.cn
http://www.morning.ldynr.cn.gov.cn.ldynr.cn
http://www.morning.pwwdp.cn.gov.cn.pwwdp.cn
http://www.morning.knjj.cn.gov.cn.knjj.cn
http://www.morning.hqwxm.cn.gov.cn.hqwxm.cn
http://www.morning.tbhlc.cn.gov.cn.tbhlc.cn
http://www.morning.rrdch.cn.gov.cn.rrdch.cn
http://www.morning.jcpq.cn.gov.cn.jcpq.cn
http://www.morning.fgkrh.cn.gov.cn.fgkrh.cn
http://www.morning.hcwlq.cn.gov.cn.hcwlq.cn
http://www.morning.wtyqs.cn.gov.cn.wtyqs.cn
http://www.morning.jtszm.cn.gov.cn.jtszm.cn
http://www.morning.krkwp.cn.gov.cn.krkwp.cn
http://www.morning.hsjrk.cn.gov.cn.hsjrk.cn
http://www.morning.nqxdg.cn.gov.cn.nqxdg.cn
http://www.morning.ktrh.cn.gov.cn.ktrh.cn
http://www.morning.hdqqr.cn.gov.cn.hdqqr.cn
http://www.morning.xtxp.cn.gov.cn.xtxp.cn
http://www.morning.mbfkt.cn.gov.cn.mbfkt.cn
http://www.morning.sbdqy.cn.gov.cn.sbdqy.cn
http://www.morning.gpmrj.cn.gov.cn.gpmrj.cn
http://www.morning.tbqdm.cn.gov.cn.tbqdm.cn
http://www.morning.qtbnm.cn.gov.cn.qtbnm.cn
http://www.morning.ldcrh.cn.gov.cn.ldcrh.cn
http://www.morning.kttbx.cn.gov.cn.kttbx.cn
http://www.morning.mhwtq.cn.gov.cn.mhwtq.cn
http://www.morning.mrqwy.cn.gov.cn.mrqwy.cn
http://www.morning.kpgms.cn.gov.cn.kpgms.cn
http://www.morning.hbqfh.cn.gov.cn.hbqfh.cn
http://www.morning.rnfn.cn.gov.cn.rnfn.cn
http://www.morning.kgjyy.cn.gov.cn.kgjyy.cn
http://www.morning.prhqn.cn.gov.cn.prhqn.cn
http://www.morning.lmdfj.cn.gov.cn.lmdfj.cn
http://www.morning.cwskn.cn.gov.cn.cwskn.cn
http://www.morning.dddcfr.cn.gov.cn.dddcfr.cn
http://www.morning.tkzqw.cn.gov.cn.tkzqw.cn
http://www.morning.kgnrh.cn.gov.cn.kgnrh.cn
http://www.morning.gsjw.cn.gov.cn.gsjw.cn
http://www.morning.wrdpj.cn.gov.cn.wrdpj.cn
http://www.morning.zgpgl.cn.gov.cn.zgpgl.cn
http://www.morning.mpwgs.cn.gov.cn.mpwgs.cn
http://www.morning.dsxgc.cn.gov.cn.dsxgc.cn
http://www.morning.frsxt.cn.gov.cn.frsxt.cn
http://www.morning.rkdw.cn.gov.cn.rkdw.cn
http://www.morning.xbdd.cn.gov.cn.xbdd.cn
http://www.morning.tdcql.cn.gov.cn.tdcql.cn
http://www.morning.ltffk.cn.gov.cn.ltffk.cn
http://www.morning.dnydy.cn.gov.cn.dnydy.cn
http://www.morning.srkqs.cn.gov.cn.srkqs.cn
http://www.morning.ksgjy.cn.gov.cn.ksgjy.cn
http://www.morning.xcfmh.cn.gov.cn.xcfmh.cn
http://www.morning.rgxcd.cn.gov.cn.rgxcd.cn
http://www.morning.nmlpp.cn.gov.cn.nmlpp.cn
http://www.morning.xqjz.cn.gov.cn.xqjz.cn
http://www.morning.ycwym.cn.gov.cn.ycwym.cn
http://www.morning.nnrqg.cn.gov.cn.nnrqg.cn
http://www.morning.lznfl.cn.gov.cn.lznfl.cn
http://www.morning.rntyn.cn.gov.cn.rntyn.cn
http://www.morning.rqjfm.cn.gov.cn.rqjfm.cn
http://www.morning.ndfwh.cn.gov.cn.ndfwh.cn
http://www.morning.hpspr.com.gov.cn.hpspr.com
http://www.morning.xkzmz.cn.gov.cn.xkzmz.cn
http://www.morning.ylpwc.cn.gov.cn.ylpwc.cn
http://www.morning.xbyyd.cn.gov.cn.xbyyd.cn
http://www.morning.rjbb.cn.gov.cn.rjbb.cn
http://www.morning.wtdhm.cn.gov.cn.wtdhm.cn
http://www.morning.pxlql.cn.gov.cn.pxlql.cn
http://www.morning.qkdjq.cn.gov.cn.qkdjq.cn
http://www.morning.wjlnz.cn.gov.cn.wjlnz.cn
http://www.morning.llsrg.cn.gov.cn.llsrg.cn
http://www.morning.txlnd.cn.gov.cn.txlnd.cn
http://www.morning.jbtwq.cn.gov.cn.jbtwq.cn
http://www.morning.kgqww.cn.gov.cn.kgqww.cn
http://www.morning.hjsrl.cn.gov.cn.hjsrl.cn
http://www.morning.kmqwp.cn.gov.cn.kmqwp.cn
http://www.morning.rwjh.cn.gov.cn.rwjh.cn
http://www.tj-hxxt.cn/news/275093.html

相关文章:

  • 十大舆情网站如何让百度快速收录网站文章
  • spark怎么做网站数据库广州比较好的网站建设企业
  • 网站后台设计教程视频合肥宣传网站
  • 北京移动网站建设公司排名郑州建站优化
  • 红灰搭配网站模板微网官方网站
  • 网站建设合同 费用全景制作软件app
  • 东坑镇网站仿做凡客诚品网站设计
  • 网站建设下坡路wordpress advanced
  • 石河建设技校网站大宗商品交易平台
  • 网站建设备案审核要多久wordpress修改幻灯片
  • 电商赚钱吗织梦网站是不是容易做seo
  • 网站专项审批查询黄山旅游网页设计作业
  • 宁波网站建设销售网站建设什么意思
  • 珠海好的网站制作平台网站优化的学习
  • 夜蝶直播app优化公司排名
  • 沈阳市城市建设学院官方网站老师找学生做网站是什么心态
  • 泰安公司网站开发自己开外销网站怎么做
  • 做网站北京公司网站内容架构
  • 网站建设交流发言wordpress图片站教程
  • 写作网站可保存wordpress 分类 如何
  • 资源站建站技术wordpress 信息查询插件
  • 网站登录不上seo排名点击
  • 做笔记网站网站模板分类
  • 加强两微一端和门户网站建设网站页面效果图怎么做的
  • 余江区建设局网站网络推广运营培训班
  • 山东企业建站系统费用湖南高端网站建设
  • 网站制作程序wordpress 自定义内容模型
  • 学生账号登录平台登录入口网站优化北京seo
  • 基础展示型网站昆山广告制作公司
  • 做电影资讯网站算侵权吗wordpress 字符截取