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

网站分辨率做多大企业网站 自适应

网站分辨率做多大,企业网站 自适应,网站建设捌金手指下拉十九,二级网站建设 知乎在上一篇文章已经成功的运行了一个http服务器,接下来就是使用Sequelize ORM(官方文档:Sequelize 简介 | Sequelize中文文档 | Sequelize中文网)来操作数据库。 1、安装依赖 首先也是需要安装相关的依赖 npm i sequelize npm i …

在上一篇文章已经成功的运行了一个http服务器,接下来就是使用Sequelize ORM(官方文档:Sequelize 简介 | Sequelize中文文档 | Sequelize中文网)来操作数据库。

1、安装依赖

首先也是需要安装相关的依赖

npm i sequelize
npm i mysql2

2、连接数据库

2.1 创建Sequelize实例&定义模型属性

由于在实际项目中连接一个数据库中的多个表,所以在这里我建了一个models文件夹,index.js用来遍历models文件夹下的js文件并依次创建实例

// index.jsconst { Sequelize } = require('sequelize');
const fs = require('fs');
const path = require('path');
const config = require('../config');// 数据库配置的文件,单独整合出来const basename = path.basename(__filename);
const models = {};
let sequelize;const initModels = async () => {if (!config.mysql.host || !config.mysql.port) {return null;}// 创建实例sequelize = new Sequelize({dialect: 'mysql',logging: config.isDev? (msg) => {logger.debug('msg---',msg);}: false,timezone: '+08:00', // 修正时区...config.mysql,});// 遍历models文件夹下的所有文件并返回后缀名为js的文件,modelFiles: [MultiAccount.js, Sort.js]const modelFiles = fs.readdirSync(__dirname).filter((file) => {return file.indexOf('.') !== 0 && file !== basename && file.slice(-3) === '.js';});// 如果modelFiles不存在或者modelFiles的长度为0,直接退出if (!modelFiles || !(modelFiles.length)) {return null;}// 遍历modelFiles中的每一项,并进行实例的创建modelFiles.forEach((file) => {const modelDefinition = require(path.join(__dirname, file));// `sequelize.define` 会返回模型const model = sequelize.define(modelDefinition.modelName,{...modelDefinition.attributes,},modelDefinition.options,);// 把创建好的实例存到对象models中,键名为对应js文件中定义的modelName,键值为model实例models[modelDefinition.modelName] = model;});try {await sequelize.authenticate();logger.info(`MYSQL连接成功 ${config.mysql.host}:${config.mysql.port}`);} catch (error) {logger.error(`MYSQL连接失败[${config.mysql.host}:${config.mysql.port}] :${error}`);return null;}return sequelize;
};module.exports = {initModels,models,sequelize,
};if (require.main === module) {sequelize.authenticate().then(() => {console.log('Connection has been established successfully.');}).catch((error) => {console.error('Unable to connect to the database:', error);});
}

定义属性则跟上文一样,在对应的js文件中,例如:

// MultiAccount.jsconst { DataTypes } = require('sequelize');module.exports = {modelName: 'MultiAccount',attributes: {fb_time: {type: DataTypes.CHAR,defaultValue: '',},fb_id: {type: DataTypes.INTEGER,defaultValue: '',},fb_userid: {type: DataTypes.INTEGER,defaultValue: '',},target_userid: {type: DataTypes.INTEGER,defaultValue: '',},target_login_time: {type: DataTypes.CHAR,defaultValue: '',},rela_users: {type: DataTypes.CHAR,defaultValue: '',},target_type: {type: DataTypes.INTEGER,defaultValue: '',},qa_content: {type: DataTypes.CHAR,defaultValue: '',},qa_pics: {type: DataTypes.CHAR,defaultValue: '',},status: {type: DataTypes.INTEGER,defaultValue: '0',},sorts: {type: DataTypes.CHAR,defaultValue: '',},create_time: {type: DataTypes.CHAR,defaultValue: '',},},options: {tableName: 'multi_account',createdAt: false,// 不自动增加createdAt数据创建时间字段,默认为trueupdatedAt: false,// 不自动增加updatedAt数据更新时间字段,默认为true},
};

2.2操作数据库

操作数据库就可以使用Sequelize内置的方法了,这里用我的查询接口为例,接口可以支持日期、状态、分类、分页查询,所以需要动态给where添加相应的条件

let where ={}// 查询条件static async getFbList(ctx) {const { start_time, end_time, status = '-1', sort = '-1', page, pageSize } = ctx.request.body//日期查询(默认当天数据,前端传过来)if (start_time && end_time) {where = {...where,fb_time: {[Op.between]: [start_time, end_time]}}}//状态查询(默认为-1全部数据)if (status !== '-1') {where = {...where,status: {[Op.eq]: [status]}}}//分类查询if (sort !== '-1') {where = {...where,sorts: {[Op.eq]: [sort]}}}//当前查询条件下的数据总数const total = await models.MultiAccount.count({where: where})//当前查询条件下的数据列表,offset为去掉前多少个数据,limit为每页数据的数量,order是根据fb_time这个字段来排序const fb_list = await models.MultiAccount.findAll({where: where, limit: Number(pageSize), offset: Number((page - 1)*pageSize), order:[['fb_time']] });//查询成功后重置查询条件where = {}ctx.body = {list: fb_list,total,};}

框架其他的一些方法可以看下以下文章,

1、使用Sequelize - 廖雪峰的官方网站 (liaoxuefeng.com)
2、使用Sequelize模块操作数据库之增删改查_sequelize修改语句-CSDN博客
3、模型查询(基础) | Sequelize中文文档 | Sequelize中文网

http://www.yayakq.cn/news/766403/

相关文章:

  • 北京P2P公司网站建设施工企业质量管理
  • 临沂专业网站制作公司外贸网站推广有哪些
  • 东阿做网站智能建站免费
  • 北京模板网站开发公司九五至尊娱乐场网站
  • 洪梅仿做网站做电子元器件的网站
  • 中国保密在线网站培训系统网站建设好后 如何验收
  • 做公司网站源代码怎么写网站建设需求说明书举例
  • 为某公司或企业做的门户网站坪地网站建设如何
  • 宁夏住房和城乡建设厅网站首页原创WordPress自媒体
  • p2p网站开发费用wordpress专栏
  • 为企业提供网站建设服务程序员不是做网站的
  • 二手网站哪些做的比较好可以做视频创收的网站
  • 简单的方法搭建网站wordpress主题缓存
  • 学校网站建设小组及分工商标网站建设
  • C 建设个人网站电商网站开发报价
  • 深圳网站建设培训网上商城个人店铺
  • 网站构造下拉列表怎么做南京哪个网站建设比较好
  • 网站可以跟博客做互链吗vx小程序
  • 公司网站二维码生成器免费建微网站
  • 做网站的人还能做什么辽阳微网站建设
  • 5 网站建设进度表网站建设需要什么编程语言
  • 网站外链哪里做百度竞价怎么做开户需要多少钱
  • 哪个网站可以做相册wordpress调用指定文章内容
  • 找代理做网站网站域名归属谁wordpress 图片 说明 居中
  • 查询网站备案服务商手机网站开发哪个好
  • 做淘宝客网站是如何盈利的汉中建设工程招标网
  • 做局域网网站网络营销中网站的目的是
  • html中文网站模板下载江西火电建设公司网站
  • 深圳网站设计兴田德润i优惠吗黄岐网站制作
  • 买完域名后怎么搭建个人网站网站 建设 拖拉 源码 系统