QT表格显示MYSQL数据库源码分析(七)
一. 连接MySQL数据库
首先,创建了一个QSqlDatabase对象,并设置数据库类型为"QMYSQL"。然后,它设置了数据库的主机名,端口号,数据库名,用户名和密码。最后,尝试打开数据库连接,并根据连接是否成功输出相应的信息。如果连接失败就会弹出警告框并输出错误信息
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");db.setHostName("47.116.118.86"); //连接数据库主机名,这里需要注意(若填的为”127.0.0.1“,出现不能连接,则改为localhost)db.setPort(3306); //连接数据库端口号,与设置一致db.setDatabaseName("qtsql"); //连接数据库名,与设置一致db.setUserName("qt"); //数据库用户名,与设置一致db.setPassword("zhongkeruihe"); //数据库密码,与设置一致bool ok = db.open();if (ok){// QMessageBox::information(this, "infor", "success");qDebug()<<"success";}else {QMessageBox::information(this, "警告!", "DataBase Open Failed,Check whether there is a database or whether the parameters are correct!!!");qDebug()<<"error open database because"<<db.lastError().text();//ui->label->setText(db.lastError().text());}
二. 查询表中数据并在tableView中显示
定义一个成员函数,属于一个名为database的类,这个函数的作用是从数据库中查询所有的数据,并将结果显示在一个名为tableView的表格视图上。具体步骤是:
1. 创建一个QSqlQueryModel对象,命名为tableModel。QSqlQueryModel是Qt框架中的一个模型类,用于处理数据库查询结果。
2. 定义一个字符串strSelectData,内容是SQL查询语句"select * from qtdata"。这条语句表示从名为qtdata的表中选择所有列的数据
3. 使用tableModel->setQuery(strSelectData)方法,将查询语句设置到tableModel对象中
4. 调用ui->tableView->setModel(tableModel)方法,将tableModel设置为tableView的模型。这样,tableView
就会显示tableModel
中的查询结果。
//查询所有并放入表中
SelectAllPushTableData();void database::SelectAllPushTableData(){tableModel = new QSqlQueryModel;//定义一个数据库模型,指定父对象QString strSelectData = "select * from qtdata";tableModel->setQuery(strSelectData);ui->tableView->setModel(tableModel);
}
三. 定义多个槽函数
定义多个按钮对应的槽函数,比如更新数据,插入数据和删除数据等。
bool database::clearDBTable()这个函数作用是清除数据库表中的数据,并且按钮按下后,会弹出弹框,提醒是否确认选择
void database::SelectData()在设定的时间范围内查找这一范围内的表中的数据
void database::on_select_val_bt_clicked()在两个下拉框值的范围内搜索表中在这一范围内的数据,并且在tableview中显示
#include "database.h"
#include "ui_database.h"#include <QMessageBox>
#include <QDebug>
#include <QSqlError>database::database(QWidget *parent) :QWidget(parent),ui(new Ui::database)
{ui->setupUi(this);qDebug()<<QSqlDatabase::drivers();
// QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
// db.setDatabaseName("test");QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");db.setHostName("47.116.118.86"); //连接数据库主机名,这里需要注意(若填的为”127.0.0.1“,出现不能连接,则改为localhost)db.setPort(3306); //连接数据库端口号,与设置一致db.setDatabaseName("qtsql"); //连接数据库名,与设置一致db.setUserName("qt"); //数据库用户名,与设置一致db.setPassword("zhongkeruihe"); //数据库密码,与设置一致// db.setHostName("47.116.118.86");
// db.setPort(3306);
// db.setDatabaseName("qtsql");
// db.setUserName("qt");
// db.setPassword("zhongkeruihe");bool ok = db.open();if (ok){// QMessageBox::information(this, "infor", "success");qDebug()<<"success";}else {QMessageBox::information(this, "警告!", "DataBase Open Failed,Check whether there is a database or whether the parameters are correct!!!");qDebug()<<"error open database because"<<db.lastError().text();//ui->label->setText(db.lastError().text());}//查询所有并放入表中SelectAllPushTableData();//初始化表格 格式
// ui->tableView->setColumnWidth(0,80);
// ui->tableView->setColumnWidth(1,150);
// ui->tableView->setColumnWidth(2,70);
// ui->tableView->setColumnWidth(3,70);
// ui->tableView->setColumnWidth(4,70);
// ui->tableView->setColumnWidth(5,70);
// ui->tableView->setColumnWidth(6,70);
// ui->tableView->setColumnWidth(7,70);/*初始化下拉框*/ui->comboBox_2->addItem("温度");ui->comboBox_2->addItem("湿度");ui->comboBox_2->addItem("光照强度");ui->comboBox_2->addItem("二氧化碳");ui->comboBox->addItem("水位");ui->comboBox_2->addItem("位置");ui->comboBox_2->addItem("亮度");ui->comboBox_2->addItem("通风");ui->comboBox_2->addItem("喷淋");ui->comboBox_2->addItem("雾培");ui->comboBox_2->addItem("水加热");ui->comboBox_2->addItem("位置变化");ui->comboBox_2->addItem("温度变化");/*设置日期查询的初始化*/ui->dateTimeEdit_2->setDateTime(QDateTime::currentDateTime().addSecs(0));ui->dateTimeEdit->setDateTime(QDateTime::currentDateTime().addSecs(0));setFixedSize(750,650);setWindowTitle("——数据库管理平台——");
}void database::SelectAllPushTableData(){tableModel = new QSqlQueryModel;//定义一个数据库模型,指定父对象QString strSelectData = "select * from qtdata";tableModel->setQuery(strSelectData);ui->tableView->horizontalHeader()->setDefaultAlignment(Qt::AlignCenter);ui->tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);ui->tableView->setModel(tableModel);}//void database::UpdataToDataBase(QString Stemp,QString Shumi,QString Slight,QString Ssoil,QString Smq2,QString Srain)
//{
// float val[6];// val[0] = Stemp.toFloat();
// val[1] = Shumi.toFloat();
// val[2] = Slight.toFloat();// val[3] = Ssoil.toFloat();
// val[4] = Smq2.toFloat();
// val[5] = Srain.toFloat();// // qDebug()<<val[0]<<" "<<val[1]<<" "<<val[2]<<" "<<val[3]<<" "<<val[4]<<" "<<val[5]<<" "<<" ";// //插入
// insertData(val);// //查询并全部显示
// SelectAllPushTableData();//}插入数据
//bool database::insertData(float val[14])
//{
// QSqlQuery query;// //QDateTime currentTime = QDateTime::currentDateTime();// QString stInsertData = "insert into qtdata values (?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
// query.prepare(stInsertData);//准备SQL语句// query.addBindValue(val[0]);
// query.addBindValue(val[1]);
// query.addBindValue(val[2]);
// query.addBindValue(val[3]);
// query.addBindValue(val[4]);
// query.addBindValue(val[5]);
// query.addBindValue(val[6]);
// query.addBindValue(val[7]);
// query.addBindValue(val[8]);
// query.addBindValue(val[9]);
// query.addBindValue(val[10]);
// query.addBindValue(val[11]);
// query.addBindValue(val[12]);
// query.addBindValue(QDateTime::currentDateTime().addSecs(0).toString("yyyy-MM-dd hh:mm:ss"));
// // query.addBindValue()方法将各个值绑定到SQL语句中的占位符// // query.exec()执行SQL语句,如果执行失败,将输出错误信息
// if(!query.exec())
// {
// qDebug()<<query.lastError();
// }
// return true;
//}//清空表
bool database::clearDBTable()
{QSqlQuery query;QString strClearDB = "delete from qtdata";//创建一个消息框,询问用户是否确认操作QMessageBox::StandardButton reply;reply = QMessageBox::question(this,"清除数据","确定要清除表中数据?",QMessageBox::Yes|QMessageBox::No);//根据用户的选择执行相应的操作if (reply == QMessageBox::Yes){query.prepare(strClearDB);}else if(reply == QMessageBox::No){}if(!query.exec()){qDebug()<<query.lastError();}return true;
}//日期查询
void database::SelectData()
{tableModel = new QSqlQueryModel;//定义一个数据库模型,指定父对象QString startTime = ui->dateTimeEdit->text();QString startTime2 = ui->dateTimeEdit_2->text();//查询操作QString strSelectData = "select *from qtdata where CurrenTime between '"+startTime+"' and '"+startTime2+"';";tableModel->setQuery(strSelectData);ui->tableView->horizontalHeader()->setDefaultAlignment(Qt::AlignCenter);ui->tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);ui->tableView->setModel(tableModel);
}database::~database()
{delete ui;
}//退出
void database::on_exit_bt_clicked()
{this->close();
}//查询按钮 ->查询指定日期
void database::on_select_data_bt_clicked()
{SelectData();
}//显示所有
void database::on_displayAll_bt_clicked()
{SelectAllPushTableData();
}//now
void database::on_now_bt_clicked()
{//当前时间ui->dateTimeEdit_2->setDateTime(QDateTime::currentDateTime().addSecs(0));
}
//最近一天
void database::on_currDay_bt_clicked()
{//上一天ui->dateTimeEdit->setDateTime(QDateTime::currentDateTime().addSecs(-3600*24));//当前时间ui->dateTimeEdit_2->setDateTime(QDateTime::currentDateTime().addSecs(0));SelectData();
}
//最近三天
void database::on_currThDay_bt_clicked()
{//三天前天ui->dateTimeEdit->setDateTime(QDateTime::currentDateTime().addSecs(-3600*24*3));//当前时间ui->dateTimeEdit_2->setDateTime(QDateTime::currentDateTime().addSecs(0));SelectData();
}
//最近一周
void database::on_currWeek_bt_clicked()
{//七天前ui->dateTimeEdit->setDateTime(QDateTime::currentDateTime().addSecs(-3600*24*7));//当前时间ui->dateTimeEdit_2->setDateTime(QDateTime::currentDateTime().addSecs(0));SelectData();
}//条件查询
void database::on_select_val_bt_clicked()
{//获取索引值QString strNum = ui->comboBox_2->currentText();//获取上下值QString downNum = ui->spinBox->text();QString upNum = ui->spinBox_2->text();//查询操作QString strSelectData = "select *from qtdata where "+strNum+" >= "+downNum+" && "+strNum+"<="+upNum+";";tableModel->setQuery(strSelectData);ui->tableView->horizontalHeader()->setDefaultAlignment(Qt::AlignCenter);ui->tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);ui->tableView->setModel(tableModel);
}//添加
/*
void database::on_add_bt_clicked()
{//插入数据// insertData();//查询并显示SelectAllPushTableData();
}*///清空表按钮
void database::on_clear_bt_clicked()
{clearDBTable();SelectAllPushTableData();
}
相关文章:
QT表格显示MYSQL数据库源码分析(七)
一. 连接MySQL数据库 首先,创建了一个QSqlDatabase对象,并设置数据库类型为"QMYSQL"。然后,它设置了数据库的主机名,端口号,数据库名,用户名和密码。最后,尝试打开数据库连接&#x…...
excel系列(三) - 利用 easyexcel 快速实现 excel 文件导入导出
一、介绍 在上篇文章中,我们介绍了 easypoi 工具实现 excel 文件的导入导出。 本篇我们继续深入介绍另一款更优秀的 excel 工具库:easyexcel 。 二、easyexcel easyexcel 是阿里巴巴开源的一款 excel 解析工具,底层逻辑也是基于 apache p…...
探索前后端数据传输模式:Java、Go与Python的实践20240719
深入解析前后端数据传输:Java、Go与Python的实践 引言 在当今的互联网时代,用户对Web应用的性能和交互体验有着越来越高的要求。无论是信息展示型网站还是复杂的企业应用,前后端数据传输的效率和模式选择都至关重要。本文将深入探讨三种主流…...
【YashanDB知识库】yac修改参数后关闭数据库hang住
【标题】yac修改参数后关闭数据库hang住 【问题分类】性能优化 【关键词】YashanDB, yac, shutdown hang 【问题描述】修改yac参数后执行shutdown immediate,数据库hang住。 【问题原因分析】 Shutdown操作时,线程在获取gInstance->trigger->s…...
提升网站性能:ThinkPHP6中如何实现Mysql分页查询
随着互联网的快速发展,web应用程序的开发也越来越复杂。而分页查询是web应用程序中常见的功能之一。thinkphp6是一个web框架,可以帮助开发人员快速开发应用程序。在本文中,我们将讨论如何在thinkphp6中使用mysql进行分页查询。 首先…...
Python:Flask自定义URL路由参数过滤器
目录 简单的例子手动类型转换自动类型转换自定义路由过滤器 简单的例子 先看一个简单的例子,GET请求需要传递一个参数,我们直接获取的是字符串 from flask import Flaskapp Flask(__name__)app.get("/<value>") def index(value):ret…...
闭包与装饰器
一.闭包: 闭包是Python中的一种高级特性,指的是在函数内部定义了另外一个函数,并返回了这个内部函数作为函数对象,同时还保存了外层函数的状态信息。这个内部函数可以依赖外层函数的变量和参数,而且外层函数返回的是这…...
DNS服务器的搭建
1、DNS服务器端软件 DNS 的域名解析都是 udp/53 . 主从之间的数据传输默认使 ⽤tcp/53 DNS服务器端软件: Bind是⼀款开放源码的DNS服务器软件,Bind由美国加州⼤学Berkeley(伯克 利)分校开发和维护的,全名为Berkele…...
【JavaScript】点击穿透
点击穿透是指在某些场景下,⽤户在快速点击⻚⾯元素时,由于某些原因(例如⽹络延迟), 在前⼀个元素上的点击事件还没有完成时,下⼀个元素的点击事件就已经触发了,导致⽤户感 觉到⻚⾯点击⽆效或者…...
[Linux]Mysql之主从同步
AB复制 一、主从复制概述 主从复制,是用来建立一个和主数据库完全一样的数据库环境,称为从数据库;主数据库一般是准实时的业务数据库。 主从复制的作用 1.做数据的热备,作为后备数据库,主数据库服务器故障后…...
DAY21-二叉树
LeetCode538.把二叉搜索树转换为累加树 public TreeNode convertBST(TreeNode root) {reverseIn(root);return root;}public Integer value0,flag0;public void reverseIn(TreeNode root) {if(rootnull) return ;reverseIn(root.right);if(flag0) {valueroot.val;flag1;}else {…...
java面试-场景题
一、集合 1. java中如何给一个超大的一个亿左右的list数据去重? 我当时的回答是使用HashSet或Stream流的distinct语法。但是面试官好像更注重内存的消耗问题。 使用HashSet: HashSet 是一个不允许有重复元素的集合。你可以将List中的元素添加到HashSe…...
【TORCH】matplotlib绘制一条横线的两种方法
在创建图形和数据可视化时,你提到的两种方法都用于绘制特定的线条,但它们在实现方式上有所不同。我将逐一解释这两种方法的具体含义和用途。 1. 使用列表创建常数值的线条 y [1] * len(x)这行代码生成了一个列表 y,其长度与 x 相同&#x…...
深入浅出mediasoup—WebRtcTransport
mediasoup 提供了多种 transport,包括 WebRtcTransport、PipeTransport、DirectTransport、PlainTransport 等,用来实现不同目的和场景的媒体通信。WebRtcTransport 是 mediasoup 实现与 WebRTC 客户端进行媒体通信的对象,是 mediasoup 最重要…...
如何让局域网中的其他电脑访问VMWare虚拟机上的Windows虚拟系统
场景描述 事情是这样的,我在我的主机(Win10)上搭建了一个VMWare虚拟机,并安装了Windows Server的虚拟系统,想用它来测试一些东西。但是呢,我发现尽管我的主机可以愉快地跟这个服务器对话,可办公…...
旧电脑回收前怎么清除数据
随着技术的快速更新换代,很多人的电脑也会不断的更新升级,比如给电脑升级硬件或是更换新电脑,从而获得更好的性能和体验。那么旧的电脑及电脑部件怎么处理更安全呢?我们要确保旧电脑上的个人数据被彻底清除干净,这样可…...
python——TinyDB
TinyDB 是一个轻量级的纯 Python 写入的文档数据库。它不需要单独的服务器进程或复杂的配置,只需导入模块即可开始使用。TinyDB 适合于小型项目或测试用例,它的数据存储在本地文件中。 TinyDB 的基本 API 和使用方式: 初始化数据库 from tin…...
【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第三篇 嵌入式Linux驱动开发篇-第三十八章 驱动模块编译进内核
i.MX8MM处理器采用了先进的14LPCFinFET工艺,提供更快的速度和更高的电源效率;四核Cortex-A53,单核Cortex-M4,多达五个内核 ,主频高达1.8GHz,2G DDR4内存、8G EMMC存储。千兆工业级以太网、MIPI-DSI、USB HOST、WIFI/BT…...
Mailspring搭建安装教程:打造个性邮件体验
Mailspring搭建安装教程步骤!如何选择电子邮件服务商? Mailspring作为一款功能强大、界面友好的邮件客户端,成为了许多用户的首选。AokSend将为大家提供详细的Mailspring搭建安装教程,帮助您打造个性化的邮件体验。 Mailspring搭…...
【分布式锁】Redission实现分布式锁
接着上一节,我们遇到了超卖的问题,并通过Redis实现分布式锁,进行了解决。本节 我将换一种方式实现分布式锁。 前提: nginx、redis、nacos 模块1: provider-and-consumer 端口 8023 模块2 rabbitmq-consumer 端口 8021 …...
UE4/5 对话系统
参考教程:UE4甜筒教艺术生学蓝图#21.UE4对话系统(1)--唠嗑案例展示_哔哩哔哩_bilibili 说来惭愧两年前看的教程,现在才记录一下,很好的教程推荐大家观看 1.首先创建两个枚举,内容如下 2.创建三个结构体,内容如下 3.再…...
Golang | Leetcode Golang题解之第275题H指数II
题目: 题解: func hIndex(citations []int) int {n : len(citations)return n - sort.Search(n, func(x int) bool { return citations[x] > n-x }) }...
Python—面向过程编程,详细讲解(类和实例,初始化函数,类中封装数据与操作)
1.类和实例 类:类别 实例(对象):类型塑造出来的某一个具体的内容 isinstance(对象,类) 返回一个对象是否是一个类的实例 # 声明一个整数类的实例10 a int(10) # a 10 print(type(a), isinstance(a, int)) a flo…...
Linux云计算 |【第一阶段】SERVICES-DAY2
主要内容: DNS服务基础及搭建、特殊解析(针对地址库文件:DNS轮询 DNS泛域名解析 DNS别名)、缓存DNS(全局转发forwarders)、DNS递归迭代(子域授权)、DNS主从架构搭建、DNS主从数据同步 一、DNS工…...
el-upload照片墙自定义上传多张图片(手动一次性上传多张图片)包含图片回显,删除
需求:el-upload照片墙自定义上传多张图片(手动一次性上传多张图片)包含图片回显,删除,预览,在网上看了很多,都没有说怎么把数据转为file格式的,找了很久最终实现, 难点&a…...
三星Unpacked发布会即将举行:有新款折叠屏手机,还有智能戒指
随着7月的脚步渐近,科技界的目光再次聚焦于三星,它即将在法国巴黎举办今年的第二场Unpacked发布会。这不仅是一场新品的展示,更是三星对创新科技的一次深刻诠释。 从Galaxy Z Fold 6的全新设计,到Galaxy Z Flip 6的显著升级&…...
【Python】Matplotlib简要教程
文章目录 一、简介二、一些基本概念2.1 图表元素2.2 常见图表类型2.3 主要绘图函数及其返回值2.4 Artists 的概念 三、基本图表详解3.1 成对数据3.11 折线图:plot()🟨设置图表样式🟨设置各种标签🟨设置坐标轴🟨绘制子图…...
数驭未来,景联文科技构建高质大模型数据库
国内应用层面的需求推动AI产业的加速发展。根据IDC数据预测,预计2026年中国人工智能软件及应用市场规模会达到211亿美元。 数据、算法、算力是AI发展的驱动力,其中数据是AI发展的基石,中国的数据规模增长速度预期将领跑全球。 2024年《政府工…...
视频汇聚平台EasyCVR启动出现报错“cannot open shared object file”的原因排查与解决
安防视频监控EasyCVR安防监控视频系统采用先进的网络传输技术,支持高清视频的接入和传输,能够满足大规模、高并发的远程监控需求。EasyCVR平台支持多种视频流的外部分发,如RTMP、RTSP、HTTP-FLV、WebSocket-FLV、HLS、WebRTC、fmp4等…...
VMware 安装完,设备管理器中没有虚拟网卡(vmnet0、wmnet1、vmnet8) / 虚拟网络编辑器中没有桥接模式
问题:VMware 安装完,设备管理器中没有虚拟网卡(vmnet0、wmnet1、vmnet8) / 虚拟网络编辑器中没有桥接模式 1、确认 Device Install Service 和 Device Setup Manager 没有被禁用 Device Install Service 和 Device Setup Manager是 Windows 操作系统中…...
构建高效Node.js中间层:探索请求合并转发的艺术
🎉 博客主页:【剑九 六千里-CSDN博客】 🎨 上一篇文章:【CSS盒模型:掌握网页布局的核心】 🎠 系列专栏:【面试题-八股系列】 💖 感谢大家点赞👍收藏⭐评论✍ 引言&#x…...
中断和EXIT原理介绍
中断和EXIT原理介绍 一、中断的介绍?二、EXIT的介绍1.EXIT作用2.EXIT的详情3.EXIT中AFIO复用的作用4.STM32中AFIO复用作用 一、中断的介绍? 二、EXIT的介绍 EXTI(Extern Interrupt)外部中断 1.EXIT作用 EXTI可以监测指定GPIO口…...
vcpkg或者命令行需要设置代理时如何设置
当使用命令行或者vcpkg时,有时候需要设置代理来下载一些代码,那么可以这样: 本地先起一个http或者socks5的代理服务器。监听127.0.0.1:10808如果本地是http代理服务器,在命令行执行: set http_proxyhttp://127.0.0.1:…...
tensorflow安装及数据操作----学习笔记(一)
安装Miniconda 下载对应系统版本的Miniconda。我的系统是ubuntu,所以选择Miniconda3 Linux 64-bit。下载后执行下载的sh脚本 sh Miniconda3-latest-Linux-x86_64.sh -b执行后,运行conda初始化命令 ~/miniconda3/bin/conda init关闭当前命令终端&#…...
顺序表和单链表的经典算法题
目录 前言 一、基础思想(数组) 1. 移除元素 2.删除有序元素的重复项 3.合并两个有序数组 二、单链表算法 1.移除链表元素 2.翻转链表 3.合并两个有序的链表 前言 Hello,小伙伴们,今天我们来做一个往期知识的回顾,今天我将…...
python基础知识点(蓝桥杯python科目个人复习计划71)
做些简单题 第一题:确定字符串是否包含唯一字符 题目描述: 实现一个算法来识别一个字符串的字符是否是唯一的。 若唯一输出YES,否则输出NO。 输入描述: 输入一个字符串,长度不超过100. 输出描述; 输出一行&…...
【大数据专题】Flink题库
1 . 简述什么是Apache Flink ? Apache Flink 是一个开源的基于流的有状态计算框架。它是分布式地执行的,具备低延迟、高吞吐的优秀性能,并且非常擅长处理有状态的复杂计算逻辑场景 2 . 简述Flink 的核心概念 ? Flink 的核心概念…...
Python鲁汶意外莱顿复杂图拓扑分解算法
🎯要点 🎯算法池化和最佳分区搜索:🖊网格搜索 | 🖊发现算法池 | 🖊返回指定图的最佳划分 | 🖊返回指定图的最佳分区 | 🎯适应度和聚类比较功能:🖊图的划分 |…...
【C++】类和对象之继承
目录 继承的概念和定义 继承的概念 继承的定义 继承的定义格式 继承关系和访问限定符 继承基类成员访问方式的变化 访问权限实例 基类和派生类对象赋值转换 继承中的作用域 派生类的默认成员函数 继承与友元 继承与静态成员 复杂的菱形继承及菱形虚拟继承 继承的…...
如何在LlamaIndex中使用RAG?
如何在LlamaIndex中使用RAG 什么是 Llama-Index LlamaIndex 是一个数据框架,用于帮助基于 LLM 的应用程序摄取、构建结构和访问私有或特定领域的数据。 如何使用 Llama-Index ? 基本用法是一个五步流程,将我们从原始、非结构化数据导向基于该数据生成…...
css气泡背景特效
css气泡背景特效https://www.bootstrapmb.com/item/14879 要创建一个CSS气泡背景特效,你可以使用CSS的伪元素(:before 和 :after)、border-radius 属性来创建圆形或椭圆形的“气泡”,以及background 和 animation 属性来设置背景…...
7.23模拟赛总结 [数据结构优化dp] + [神奇建图]
目录 复盘题解T2T4 复盘 浅复盘下吧… 7:40 开题 看 T1 ,起初以为和以前某道题有点像,子序列划分,注意到状态数很少,搜出来所有状态然后 dp,然后发现这个 T1 和那个毛关系没有 浏览了一下,感觉 T2 题面…...
MySQL-视 图
视 图 创建视图 视图是从一个或者几个基本表(或视图)导出的表。它与基 本表不同,是一个虚表。 语法: create view 视图名 【view_xxx/v_xxx】 说明: • view_name 自己定义的视图名; • as 后面是这…...
PHP SimpleXML
PHP SimpleXML PHP的SimpleXML扩展提供了一个非常方便的方式来处理XML数据。它是PHP内置的,因此不需要安装额外的库。SimpleXML可以将XML数据转换成对象,使得操作XML变得简单直观。本文将详细介绍SimpleXML的使用方法,包括加载XML、访问和修…...
【Spring Boot 自定义配置项详解】
文章目录 一、配置文件1. properties配置1.1 创建配置文件1.2 添加配置项1.3 在应用中使用配置项1.4 多环境配置 2. YAML配置2.1 创建配置文件2.2 添加配置项2.3 在应用中使用配置项2.4 多环境配置 二、自定义配置类1. 创建配置类2. 使用配置类 一、配置文件 Spring Boot支持多…...
电机相位接线错误导致的潜在问题
交流电机有两种基本类型:单相和三相。一般来说,单相交流电机通常用于家用电器等住宅应用,而三相交流电机则用于工业应用。这主要是因为大多数家庭使用单相电源,而大多数工业场所使用三相电源。 鉴于这两种不同的电源方案…...
react中如何mock数据
1.需求说明 因为前后端分离开发项目,就会存在前端静态页面写好了,后端数据接口还没写好;这时候前端就需要自己定义数据来使用。 定义数据有三种方式:直接写死数据、使用mock软件、json-server工具 这里讲解通过json-server工具…...
通过Faiss和DINOv2进行场景识别
目标:通过Faiss和DINOv2进行场景识别,确保输入的照片和注册的图片,保持内容一致。 MetaAI 通过开源 DINOv2,在计算机视觉领域取得了一个显着的里程碑,这是一个在包含1.42 亿张图像的令人印象深刻的数据集上训练的模型…...
新手入门基础Java
一:基础语法 1.Java的运行机制 2. Java基本语法 1.注释、标识符、关键字; 2.数据类型(四类八种) 3.类型转换 1.自动转换;2.强制转换; 4.常量和变量 1.常量;2.变量; 3.变量的作用域 5.运算符 1.算数运算符;2.赋值运算符;3.关系运算符; 4.逻辑运算符;5.自…...
2024最新版虚拟便携空调小程序源码 支持流量主切换空调型号
产品截图 部分源代码展示 urls.js Object.defineProperty(exports, "__esModule", {value: !0 }), exports.default ["9c5f1fa582bee88300ffb7e28dce8b68_3188_128_128.png", "E-116154b04e91de689fb1c4ae99266dff_960.svg", "573eee719…...