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

JDBC实验测试

一、语言和环境

实现语言:Java。

环境要求:IDEA2023.3、JDK 17 、MySQL8.0、Navicat 16 for MySQL。

二、技术要求

该系统采用 SWING 技术配合 JDBC 使用 JAVA 编程语言完成桌面应用开发。

三、功能要求

某电商公司为了方便客服查看用户的订单信息,需开发一个用户订单管理系统。要求本系统实现以下功能:

  1. 启动程序后进入主界面,显示所有订单信息,效果如图 1 所示:

  • 2.在订单编号文本框中输入正确订单号显示该订单信息,如图 2

  • 3.选中某个订单后点击删除按钮,提示是否真的要删除,确定后删除该数据。如图 3:

4.删除成功后显示删除后订单信息。如图 4:

四、数据库设计 

数据库名为 OrderDb,表结构如下。

表 1 订单表(tb_order)

列名

 

含义

 

数据类型

 

约束(描述)

 

id

 

编号

 

int

 

主键,自动增长

 

name

 

商品名称

 

varchar(20)

 

非空

 

price

 

价格

 

decimal(5,2)

 

非空

 

orderID

 

所属订单单号

 

varchar(20)

 

非空

 

descinfo

 

描述

 

varchar(100)

 

 

五、具体要求及推荐实现步骤

创建数据库和表

创建订单实体类

创建 BaseDAO 类完成数据库的连接和关闭

创建 OrderDAO 完成对订单的查询与删除功能

创建 MainFrame 类并添加相应组件,完成界面设计

在 MainFrame 中添加 JTable 完成数据展示。

在 MainFrame 中添加 Jbutton 完成数据删除

在 MainFrame 中添加文本框完成单条数据搜索

六、注意事项

题目:物流跟踪管理系统 

该程序的评分标准如下:(测试时间90分钟)

10

数据库和表

 

正确创建数据库和表 6 分,测试数据 4 分。必须以分离数据库或脚本方式提交, 否则该项不得分

5

正确创建和编写实体类,包含所有属性及方法

10

正确创建并编写 BaseDAO 完成数据库的连接(5 分)和关闭(5 分)。

30

正确创建并编写 OrderDAO 完成数据查询与删除

 

10

列表数据查询

 

10

单条数据查询

 

10

数据删除

40

创建并编写 MainFrame 类完成界面设计及功能调用

 

5

图 1 中各个组件的设计

 

10

图 1 中数据展示

 

10

图 2 中单条数据并正确展示在 JTable 中

 

5

图 3 中单条数据删除询问

 

10

图 4 中数据删除并展示新数据在 Jtable 中。

5

总体编程技术

 

2

编码规范

 

3

注释完善

总分 

100 分

七、参考答案

(一)新建数据库orderdb,表tb_order,并插入实验数据

-- ------------------------------ Table structure for tb_order-- ----------------------------DROP TABLE IF EXISTS `tb_order`;CREATE TABLE `tb_order` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(20) NOT NULL,`price` decimal(10,2) NOT NULL,`orderid` varchar(20) DEFAULT NULL,`descinfo` varchar(100) DEFAULT NULL,PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8; -- ------------------------------ Records of tb_order-- ----------------------------INSERT INTO `tb_order` VALUES ('1', 'iphones Max', '8999.00', '5325781', '刘公保的订单');INSERT INTO `tb_order` VALUES ('2', '小米10', '3655.00', '20240405', '梁思琪的订单');INSERT INTO `tb_order` VALUES ('3', '华为荣耀10', '3200.00', '20241102', '曾炳粮的订单');

(二)Java Swing

新建com.hnjt.Bean.tb_order.java,具体代码如下。

package com.hnjt.Bean;public class tb_order {private int id;private String name;private double price;private int orderID;private String descinfo;public tb_order() {super();}public tb_order(int id, String name, double price, int orderID, String descinfo) {super();this.id = id;this.name = name;this.price = price;this.orderID = orderID;this.descinfo = descinfo;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public double getPrice() {return price;}public void setPrice(double price) {this.price = price;}public int getOrderID() {return orderID;}public void setOrderID(int orderID) {this.orderID = orderID;}public String getDescinfo() {return descinfo;}public void setDescinfo(String descinfo) {this.descinfo = descinfo;}}

新建com.hnjt.BaseDAO.DbConnection.java,具体代码如下。

package com.hnjt.BaseDAO;
import java.sql.*;
import javax.swing.JOptionPane;public class DbConnection {//驱动类的类名private static final String DRIVERNAME="com.mysql.cj.jdbc.Driver";//连接数据的URL路径private static final String URL="jdbc:mysql://localhost:3306/orderdb?serverTimezone=GMT";//数据库登录账号private static final String USER="root";//数据库登录密码private static final String PASSWORD="123456";//加载驱动static{try {Class.forName(DRIVERNAME);} catch (ClassNotFoundException e) {e.printStackTrace();}}//获取数据库连接public static Connection getConnection() {try {return DriverManager.getConnection(URL,USER,PASSWORD);} catch (SQLException e) {e.printStackTrace();}return null;}//查询public static ResultSet query(String sql) {System.out.println(sql);//获取连接Connection connection=getConnection();PreparedStatement psd;try {psd = connection.prepareStatement(sql);return psd.executeQuery();} catch (SQLException e) {JOptionPane.showMessageDialog(null,"执行语句出错\n"+e.toString());e.printStackTrace();}return null;}//增、删、改、查public static int updataInfo(String sql) {System.out.println(sql);//获取连接Connection connection=getConnection();try {PreparedStatement psd=connection.prepareStatement(sql);return psd.executeUpdate();} catch (SQLException e) {JOptionPane.showMessageDialog(null,"执行语句出错\n"+e.toString());e.printStackTrace();}return 0;}//关闭连接public static void colse(ResultSet rs, Statement stmt, Connection  conn) throws Exception{try {if (rs != null){rs.close();}if (stmt != null){stmt.cancel();}if (conn != null) { conn.close(); }} catch (Exception e) {e.printStackTrace(); throw new Exception();}}
}

新建com.hnjt.OrderDAO.Update.java,具体代码如下。

package com.hnjt.OrderDAO;import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import com.hnjt.Bean.tb_order;
import com.hnjt.BaseDAO.DbConnection;
public class Update {//查询主页信息public Object[][] getMainInfo(String id) {String sql;if (id.equals("")) {sql = "select * from tb_order";}else {sql = "select * from tb_order WHERE orderid LIKE '"+id+"%';";}ResultSet re = DbConnection.query(sql);ArrayList<tb_order> list = new ArrayList<tb_order>();try {while (re.next()) {tb_order tb = new tb_order();tb.setId(re.getInt(1));tb.setName(re.getString(2));tb.setPrice(re.getDouble(3));tb.setOrderID(re.getInt(4));tb.setDescinfo(re.getString(5));list.add(tb);}} catch (SQLException e) {e.printStackTrace();}Object[][] ob = new Object[list.size()][5];for (int i = 0; i < list.size(); i++) {ob[i][0] = list.get(i).getId();ob[i][1] = list.get(i).getName();ob[i][2] = list.get(i).getPrice();ob[i][3] = list.get(i).getOrderID();ob[i][4] = list.get(i).getDescinfo();}return ob;}//删除数据public int addData(int id) {String sql = "DELETE FROM tb_order WHERE id='"+id+"';";return DbConnection.updataInfo(sql);}}

新建com.hnjt.Vive.MainFrame.java,具体代码如下。

package com.hnjt.Vive;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTable;import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;
import com.hnjt.OrderDAO.Update;
import javax.swing.JButton;
public class MainFrame extends JFrame {private JTextField orderid;Update update = new Update();Object[] header = {"编号","商品名称","商品价格","订单编号","订单描述"};Object[][] data = update.getMainInfo("");DefaultTableModel df = new DefaultTableModel(data, header);public MainFrame() {super("物流跟踪管理系统");this.setBounds(0, 0, 700, 500);getContentPane().setLayout(null);this.setLocationRelativeTo(null);this.setResizable(false);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);JLabel title = new JLabel("物流跟踪管理系统");title.setFont(new Font("宋体", Font.BOLD, 40));title.setBounds(182, 13, 336, 50);getContentPane().add(title);JLabel orderid_text = new JLabel("订单编号");orderid_text.setBounds(14, 70, 72, 18);getContentPane().add(orderid_text);orderid = new JTextField();orderid.setBounds(80, 67, 179, 24);getContentPane().add(orderid);orderid.setColumns(10);JButton seach = new JButton("搜索");seach.setBounds(273, 66, 90, 27);getContentPane().add(seach);seach.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {if (orderid.equals("")) {JOptionPane.showMessageDialog(null, "请输入要查询的订单编号!");} else {String id = orderid.getText();data = update.getMainInfo(id);df.setDataVector(data, header);}}});JTable jTable = new JTable(df);JScrollPane scrollPane = new JScrollPane(jTable);scrollPane.setBounds(14, 104, 666, 302);getContentPane().add(scrollPane);JButton delete = new JButton("删除");delete.setBounds(590, 425, 90, 27);getContentPane().add(delete);delete.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {if (jTable.getSelectedColumn()<0) {JOptionPane.showMessageDialog(null, "请选择要删除的数据!");} else {int num = JOptionPane.showConfirmDialog(null, "您真的真的要删除吗?","温馨提示", 0,1);int id = Integer.parseInt(jTable.getValueAt(jTable.getSelectedRow(), 0).toString());if(num == JOptionPane.OK_OPTION){int result = update.addData(id);if (result>0) {JOptionPane.showMessageDialog(null, "删除成功!");orderid.setText("");} else {JOptionPane.showMessageDialog(null, "删除失败!");}}}}});}

新建com.hnjt.Test.Test.java,测试运行,具体代码如下。

package com.hnjt.Test;
import com.hnjt.Vive.MainFrame;
public class Test {public static void main(String[] args) {new MainFrame().setVisible(true);}
}

 

 

相关文章:

JDBC实验测试

一、语言和环境 实现语言&#xff1a;Java。 环境要求&#xff1a;IDEA2023.3、JDK 17 、MySQL8.0、Navicat 16 for MySQL。 二、技术要求 该系统采用 SWING 技术配合 JDBC 使用 JAVA 编程语言完成桌面应用开发。 三、功能要求 某电商公司为了方便客服查看用户的订单信…...

使用 vllm 部署 MiniCPM-o 2.6

使用 vllm 部署MiniCPM-o 2.6 1. 创建虚拟环境2. 克隆代码3. 从代码安装 vllm4. 安装 flash-attn5. 启动 MiniCPM-o 2.66. 使用 chatbox 客户端访问并测试一下 1. 创建虚拟环境 conda create -n vllm_openbmb python3.11 -y conda activate vllm_openbmb 2. 克隆代码 git clo…...

WSL 2 自动更新 虚拟 IP 到 window hosts

window下的wsl2 开发中使用到 域名映射&#xff0c;但是WSL2 每次启动都会被分配一个虚拟的 ip 地址&#xff0c;每次启动虚拟ip 都不一样&#xff0c;导致要频繁 更改 window 的 hosts 文件&#xff0c;太麻烦了&#xff0c;所以写一个自动执行的 .sh 脚本&#xff0c;每次启动…...

非常棒的长文本输入大模型:MiniMax以及基于它的海螺AI模型

非常棒的长文本输入大模型&#xff1a;基于MiniMax的海螺AI模型&#xff0c;快来体验一下吧&#xff01; 海螺AI—MiniMax 旗下生产力产品&#xff0c;你的AI伙伴&#xff0c;10倍速提升工作学习效率 这个大模型最大的特点就是支持长文本输入&#xff0c;而且是从内部就擅长对长…...

python milvus及curl命令进行query请求

代码如下: from pymilvus import MilvusClient client = MilvusClient( uri="http://localhost:19530", token="root:Milvus" ) res = client.query( collection_name="query_collection", filter="color like \"…...

谈谈MySQL中的索引和事务

目录 1. 索引 1.1 索引介绍 1.2 缺陷 1.3 使用 1.3.1 查看索引 1.3.2 创建索引 1.3.3 删除索引 2. 索引底层的数据结构 2.1 B树 3. 事务 3.1 为什么使用事务 3.2 事务的使用 3.3 事务的基本特性 1. 索引 1.1 索引介绍 索引相当于一本书的目录(index), 在一…...

Java 资源管理教程:掌握 close 方法、Cleaner 类与 Runtime.addShutdownHook

在 Java 编程中&#xff0c;高效地管理资源是至关重要的&#xff0c;特别是当你处理文件、数据库连接、网络连接等有限资源时。为了确保这些资源得到正确释放&#xff0c;Java 提供了多种机制。本教程将深入探讨 close 方法、Cleaner类以及 Runtime.addShutdownHook 方法&#…...

tensorflow源码编译在C++环境使用

https://tensorflow.google.cn/install/source?hlzh-cn查看tensorflow和其他需要下载软件对应的版本&#xff0c;最好一模一样 1、下载TensorFlow源码 https://github.com/tensorflow/tensorflow 2、安装编译protobuf&#xff08;3.9.2&#xff09; protobuf版本要和TensorFlo…...

算法日记8:StarryCoding60(单调栈)

一、题目 二、解题思路&#xff1a; 题意为让我们找到每个元素的左边第一个比它小的元素&#xff0c;若不存在则输出-1 2.1法一&#xff1a;暴力&#xff08;0n2&#xff09; 首先&#xff0c;我们可以想到最朴素的算法&#xff1a;直接暴力两层for达成目标核心代码如下&…...

HarmonyOS快速入门

HarmonyOS快速入门 1、基本概念 UI框架&#xff1a; HarmonyOS提供了一套UI开发框架&#xff0c;即方舟开发框架&#xff08;ArkUI框架&#xff09;。方舟开发框架可为开发者提供应用UI开发所必需的能力&#xff0c;比如多种组件、布局计算、动画能力、UI交互、绘制等。 方…...

基于微信小程序高校订餐系统的设计与开发ssm+论文源码调试讲解

第4章 系统设计 一个成功设计的系统在内容上必定是丰富的&#xff0c;在系统外观或系统功能上必定是对用户友好的。所以为了提升系统的价值&#xff0c;吸引更多的访问者访问系统&#xff0c;以及让来访用户可以花费更多时间停留在系统上&#xff0c;则表明该系统设计得比较专…...

stm32使用MDK5.35时遇到*** TOOLS.INI: TOOLCHAIN NOT INSTALLED

mdk5.35出现*** TOOLS.INI: TOOLCHAIN NOT INSTALLED的问题&#xff01;&#xff01;&#xff01;&#xff01; 以管理员身份重新打开MDK5.35.0.0&#xff0c;用keygen破解密码&#xff0c;但是一直提示我是没有破解成功。 解决办法&#xff1a; target 改成ARM...

Java面试专题——常见面试题1

引入 本文属于专题中的常见面试题模块&#xff0c;属于面试时经常遇到的&#xff0c;适合需要面试的小伙伴做面试前复习准备用&#xff0c;后续会持续补充 1.面向对象基本特征 面向对象的基本特征是什么&#xff1f;怎么理解&#xff1f; 面向对象的基本特征是封装、继承、…...

【C++】在线五子棋对战项目网页版

目录 1.Websocket 1.1.Websocket的简单认识 1.2.什么是轮询呢&#xff1f; 1.3.websocket协议切换过程 1.4.websocketpp库常用接口认识 1.5.websocketpp库搭建服务器流程 1.6.websocketpp库搭建服务器 2.mysqlclient库-接口认识 3.项目模块的划分&#xff1a; 4.项目…...

【Docker】搭建一个功能强大的自托管虚拟浏览器 - n.eko

前言 本教程基于群晖的NAS设备DS423的docker功能进行搭建&#xff0c;DSM版本为 DSM 7.2.2-72806 Update 2。 n.eko 支持多种类型浏览器在其虚拟环境中运行&#xff0c;本次教程使用 Chromium​ 浏览器镜像进行演示&#xff0c;支持访问内网设备和公网地址。 简介 n.eko 是…...

学习ASP.NET Core的身份认证(基于JwtBearer的身份认证7)

本文验证基于请求头中传递token信息的认证方式&#xff0c;webapi项目的控制器类中新建如下函数&#xff0c;仅通过验证的客户端能调用&#xff0c;需要客户端请求在Header中添加’Authorization’: Bearer token’的键值对且通过token验证后才能调用。 [Authorize] [HttpGet]…...

Linux 内核自旋锁spinlock(一)

文章目录 前言一、自旋锁1.1 简介1.2 API1.2.1 spin_lock/spin_unlock1.2.2 spin_lock_irq/spin_unlock_irq1.2.3 spin_lock_irqsave/spin_unlock_irqstore1.2.4 spin_lock_bh/spin_unlock_bh1.2.5 补充 二、自选锁原理三、自旋锁在内核的使用3.1 struct file3.2 struct dentry…...

JAVA 使用反射比较对象属性的变化,记录修改日志。使用注解【策略模式】,来进行不同属性枚举值到中英文描述的切换,支持前端国际化。

1.首先定义一个接口&#xff0c;接口中有两个方法&#xff0c;分别是将属性转换成英文描述和中文描述。 其实就是将数据库中记录的 0 1 &#xff0c;转换成后面的描述 这边定义了中文转换为默认方法&#xff0c;是因为有些属性不需要进行中文转换&#xff0c;或者该属性的枚举…...

利用免费GIS工具箱实现高斯泼溅切片,将 PLY 格式转换为 3dtiles

在地理信息系统&#xff08;GIS&#xff09;和三维数据处理领域&#xff0c;不同数据格式有其独特应用场景与优势。PLY&#xff08;Polygon File Format&#xff09;格式常用于存储多边形网格数据&#xff0c;而 3DTiles 格式在 Web 端三维场景展示等方面表现出色。将 PLY 格式…...

Mysql视图(学习自用)

一、概念 二、创建视图 三、查询视图 四、修改视图 五、删除视图 六、视图检查选项 七、视图的更新 八、视图的作用...

企业内训|基于华为昇腾910B算力卡的大模型部署和调优-上海某央企智算中心

近日上海&#xff0c;TsingtaoAI为某央企智算中心交付华为昇腾910B算力卡的大模型部署和调优课程。课程深入讲解如何在昇腾NPU上高效地训练、调优和部署PyTorch与Transformer模型&#xff0c;并结合实际应用场景&#xff0c;探索如何优化和迁移模型至昇腾NPU平台。课程涵盖从模…...

linux下一些参数的说明

/proc/sys/net/corebpf_jit_enable 作用&#xff1a;用于控制是否启用BPF&#xff08;Berkeley Packet Filter&#xff09;的即时编译&#xff08;JIT&#xff09;功能。当启用该功能时&#xff0c;JIT编译器会将eBPF&#xff08;extended Berkeley Packet Filter&#xff09;…...

CKS认证 | Day1 K8s集群部署与安全配置

一、K8s安全运维概述 Kubernetes&#xff08;K8s&#xff09; 是一个广泛使用的容器编排平台&#xff0c;用于自动化部署、扩展和管理容器化应用程序。随着 K8s 在生产环境中的普及&#xff0c;安全运维成为确保系统稳定性和数据安全的关键。 1.1 安全运维的重要性 万物互联&…...

新手上路:Anaconda虚拟环境创建和配置以使用PyTorch和DGL

文章目录 前言步骤 1: 安装 Anaconda步骤 2: 创建新的 Anaconda 环境步骤 3: 安装最新版本的 PyTorch步骤 4: 安装特定版本的 PyTorch步骤 5: 安装最新版本的 DGL步骤 6: 安装特定版本的 DGL步骤 7: Pycharm中使用虚拟环境解释器第一种情况&#xff1a;创建新项目第二种情况&am…...

什么是PCB的Mark点?如何进行设计Mark点?

一、什么是Mark点&#xff1f; PCB的Mark点&#xff0c;也被称为基准点或光学定位点&#xff0c;是在印刷电路板&#xff08;Printed Circuit Board, PCB&#xff09;上设置的一种特殊标记。 ​ 图1.1 PCB的Mark点 Mark点的主要作用是为表面贴装技术&#xff08;Surface Mount…...

Spark SQL中的from_json函数详解

Spark SQL中的from_json函数详解 在Spark SQL中&#xff0c;from_json是一个用于解析JSON数据的函数&#xff0c;主要用于将JSON格式的字符串解析为结构化的数据&#xff08;即StructType或其他Spark SQL数据类型&#xff09;。这个函数在处理半结构化数据&#xff08;如JSON日…...

Vue 引入及简单示例

Vue 渐进式JavaScript 框架 学习笔记 - Vue 引入及简单示例 目录 与jquery区别 Vue引入 两种方式引入 下载到本地 代码结构 简单示例 Style中引入vue.js 对vue语法进行解析 对三目运算符支持 设置变量&#xff08;状态&#xff09; 总结 与jquery区别 不需要手动操…...

JDK长期支持版本(LTS)

https://blogs.oracle.com/java/post/the-arrival-of-java-23 jdk长期支持版本&#xff08;LTS&#xff09;&#xff1a;JDK 8、11、17、21&#xff1a;...

审计文件标识作为水印打印在pdf页面边角

目录 说明 说明 将审计文件的所需要贴的编码直接作为水印贴在页面四个角落&#xff0c;节省辨别时间 我曾经写过一个给pdf页面四个角落加上文件名水印的python脚本&#xff0c;现在需要加一个图形界面进一步加强其实用性。首先通过路径浏览指定文件路径&#xff0c;先检测该路…...

图片专栏——概念

欢迎来到图片世界&#xff0c;大家一起学习交流! 1. 像素&#xff08;Pixel&#xff09; 定义&#xff1a;像素是图像的最小单位&#xff0c;是“图像元素”的缩写。你可以把像素想象成拼图中的一个最小块&#xff0c;无数个像素组合在一起就形成了完整的图像。作用&#xff…...

江天科技主要产品销售单价下滑,应收账款、存货周转率大幅下降

《港湾商业观察》廖紫雯 日前&#xff0c;苏州江天包装科技股份有限公司&#xff08;以下简称&#xff1a;江天科技&#xff09;冲击北交所&#xff0c;保荐机构为国投证券。 江天科技主要从事标签印刷产品的研发、生产与销售&#xff0c;公司主要产品包括薄膜类和纸张类的不…...

HTB:Remote[WriteUP]

目录 连接至HTB服务器并启动靶机 信息收集 使用rustscan对靶机TCP端口进行开放扫描 将靶机TCP开放端口号提取并保存 使用nmap对靶机TCP开放端口进行脚本、服务扫描 使用nmap对靶机TCP开放端口进行漏洞、系统扫描 使用nmap对靶机常用UDP端口进行开放扫描 使用ftp尝试匿名…...

【开源免费】基于SpringBoot+Vue.JS密接者跟踪系统(JAVA毕业设计)

本文项目编号 T 145 &#xff0c;文末自助获取源码 \color{red}{T145&#xff0c;文末自助获取源码} T145&#xff0c;文末自助获取源码 目录 一、系统介绍二、数据库设计三、配套教程3.1 启动教程3.2 讲解视频3.3 二次开发教程 四、功能截图五、文案资料5.1 选题背景5.2 国内…...

机器学习10-解读CNN代码Pytorch版

机器学习10-解读CNN代码Pytorch版 我个人是Java程序员&#xff0c;关于Python代码的使用过程中的相关代码事项&#xff0c;在此进行记录 文章目录 机器学习10-解读CNN代码Pytorch版1-核心逻辑脉络2-参考网址3-解读CNN代码Pytorch版本1-MNIST数据集读取2-CNN网络的定义1-无注释版…...

Python 电脑定时关机工具

Python 电脑定时关机工具 相关资源文件已经打包成EXE文件&#xff0c;可双击直接运行程序&#xff0c;且文章末尾已附上相关源码&#xff0c;以供大家学习交流&#xff0c;博主主页还有更多Python相关程序案例&#xff0c;秉着开源精神的想法&#xff0c;望大家喜欢&#xff0c…...

机器学习09-Pytorch功能拆解

机器学习09-Pytorch功能拆解 我个人是Java程序员&#xff0c;关于Python代码的使用过程中的相关代码事项&#xff0c;在此进行记录 文章目录 机器学习09-Pytorch功能拆解1-核心逻辑脉络2-个人备注3-Pytorch软件包拆解1-Python有参和无参构造构造方法的基本语法示例解释注意事项…...

Qt之QDjango-db的简单使用

QDjango是一款由C编写、依托于Qt库的Web开发框架&#xff0c;其设计理念受到了广受欢迎的Python框架Django的影响。这个项目旨在提供一个高效、灵活且易于使用的工具集&#xff0c;帮助开发者构建高质量的Web应用。其项目地址: https://gitcode.com/gh_mirrors/qd/qdjango&…...

滑动窗口最大值(力扣239)

刚拿到这道题&#xff0c;我们第一反应就是遍历每一个滑动窗口&#xff0c;然后在滑动窗口中遍历找到该窗口的最大值,但是这样的时间复杂度为O(k*n).有没有更简单的方法呢&#xff1f;答案是使用队列。更准确的说是双向队列。下面我将详细讲解一下如何使用双向队列解决这道问题…...

HTTP / 2

序言 在之前的文章中我们介绍过了 HTTP/1.1 协议&#xff0c;现在再来认识一下迭代版本 2。了解比起 1.1 版本&#xff0c;后面的版本改进在哪里&#xff0c;特点在哪里&#xff1f;话不多说&#xff0c;开始吧⭐️&#xff01; 一、 HTTP / 1.1 存在的问题 很多时候新的版本的…...

Python 脚本-显示给定文件的文件信息

目录 Python 代码实现 Python 代码解释 1.导入必要的模块&#xff1a; 2.函数 get_file_info&#xff1a; 3.函数 print_file_info&#xff1a; 4.主函数 main&#xff1a; 5.程序入口&#xff1a; 使用方法 Python 代码实现 import os import stat import sys import…...

C# 通用缓存类开发:开启高效编程之门

引言 嘿&#xff0c;各位 C# 开发者们&#xff01;在当今快节奏的软件开发领域&#xff0c;提升应用程序的性能就如同给跑车装上涡轮增压&#xff0c;能让你的项目在激烈的竞争中脱颖而出。而构建一个高效的 C# 通用缓存类&#xff0c;无疑是实现这一目标的强大武器。 想象一…...

Mac安装Homebrew

目录 安装修改homeBrew源常用命令安装卸载软件升级软件相关清理相关 安装 官网 https://brew.sh/不推荐官网安装方式&#xff08;很慢很慢或者安装失败联网失败&#xff09; 检测是否安装homebrewbrew -v执行安装命令 苹果电脑 常规安装脚本 &#xff08;推荐 完全体 几分钟就…...

MySQL面试题2025 每日20道【其四】

1、你们生产环境的 MySQL 中使用了什么事务隔离级别&#xff1f;为什么&#xff1f; 中等 在生产环境中&#xff0c;MySQL数据库的事务隔离级别通常由开发团队或数据库管理员根据应用的需求来设定。MySQL支持四种标准的事务隔离级别&#xff1a; 读未提交&#xff08;Read Unc…...

maven 微服务项目多 包版本问题

mvn dependency:tree查看jar包直接的关系 找到重复的包!!!! 可以查看包版本问题 [INFO] | - org.jpedal:OpenViewerFX:jar:6.6.14:compile [INFO] | | - org.eclipse.birt.runtime.3_7_1:org.mozilla.javascript:jar:1.7.2:compile [INFO] | | - bouncycastle:bcprov-j…...

skipcrossnets模型详解及代码复现

模型背景 在SkipcrossNets模型提出之前,多模态融合在自动驾驶领域已取得显著进展。然而,传统的两流网络仅在特定层进行融合,需要大量人工尝试来设置,并且随着网络深度增加,模态特征差异增大,容易影响性能。 为解决这些问题,研究人员开发了SkipcrossNets模型,旨在提供…...

【0397】Postgres内核 checkpoint process ⑦ 获取 delaying checkpoint VXIDs(delayChkpt)

1. Top-level transactions 顶级事务(Top-level transactions)通过由 PGPROC 字段 backendId 和 lxid 组成的 VirtualTransactionIDs 来标识。对于已准备的事务,LocalTransactionId 是一个普通的 XID。这些在短期内保证唯一,但在数据库重启或 XID 滚转后会被重新使用;因此…...

Go语言-学习一

简介&#xff1a;Go语言经过多年的快速发展&#xff0c;已经被光广泛应用到各个领域&#xff0c;成为当前最热的计算机语言之一。Go自带许多高级特性及常用工具&#xff0c;使Go一出世就以高并发和高性能为程序员所追捧。 go语言特点 1、静态类型、编译型、开源 2、脚本化&…...

学习记录-统计记录场景下的Redis写请求合并优化实践

学习记录-使用Redis合并写请求来优化性能 1.业务背景 学习进度的统计功能:为了更精确的记录用户上一次播放的进度&#xff0c;采用的方案是&#xff1a;前端每隔15秒就发起一次请求&#xff0c;将播放记录写入数据库。但问题是&#xff0c;提交播放记录的业务太复杂了&#x…...

Java中json的一点理解

一、Java中json字符串与json对象 1、json本质 json是一种数据交换格式。 常说的json格式的字符串 > 发送和接收时都只是一个字符串&#xff0c;它遵循json这种格式。 2、前后端交互传输的json是什么&#xff1f; 前后端交互传输的json都是json字符串 比如&#xff1a;…...

用于牙科的多任务视频增强

Multi-task Video Enhancement for Dental Interventions 2022 miccai Abstract 微型照相机牢牢地固定在牙科手机上&#xff0c;这样牙医就可以持续地监测保守牙科手术的进展情况。但视频辅助牙科干预中的视频增强减轻了低光、噪音、模糊和相机握手等降低视觉舒适度的问题。…...