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

JDBC实现模糊、动态与分页查询的详解

文章目录

  • 一. 模糊查询
    • 1. Mysql的写法
    • 2. JDBC的实现
  • 二. 动态条件查询
    • 1. 创建生成动态条件查询sql的方法
    • 2. 完整的动态条件查询类以及测试类
  • 三. 分页查询
    • 1. 什么是分页查询?
    • 2. 分页查询的分类
    • 3. MySQL的实现
    • 4. JDBC实现
      • 4.1. 创建page页
      • 4.2. 分页的实现

本章来讲一下,JDBC的模糊查询、动态查询以及分页查询的三种查询方式
旨在帮助大家更好的理解和掌握这三种查询方式,希望能够帮助到大家

一. 模糊查询

1. Mysql的写法

这里先回忆一下sql中模糊查询的写法

  1. like: 模糊查询关键字
  2. %: 模糊查询通配符
  3. _: 模糊查询占位符

例如查询学生姓名首字母为A的同学
select * from students where studentName like ‘A%’;

2. JDBC的实现

那么接下来就使用JDBC来实现模糊查询

  1. 获取数据库连接
conn = JdbcUtils.getConnection();
  1. 创建PreparedStatement对象
ps = conn.prepareStatement("select * from users where username like ?");
  1. 参数绑定
ps.setString(1,username);
  1. 执行sql语句并且保存到集合中
rs = ps.executeQuery();
while(rs.next()){Users user = new Users();user.setUserid(rs.getInt("userid"));user.setUsername(rs.getString("username"));user.setUserage(rs.getInt("userage"));list.add(user);}
  1. 释放资源
JdbcUtils.closeResource(rs, ps, connection);

完整代码

public class FuzzyQueryTest {/*** 根据用户名称模糊查找用户信息*/public List<Users> fuzzyQuery(String username){// 用于保存查询的数据List<Users> list= new ArrayList<>();Connection conn =null;PreparedStatement ps = null;ResultSet rs = null;try{ // 获取数据库连接conn = JdbcUtils.getConnection();// 创建PreparedStatement对象ps = conn.prepareStatement("select * from users where username like ?");// 参数绑定ps.setString(1,username);// 执行sql语句rs = ps.executeQuery();while(rs.next()){Users user = new Users();user.setUserid(rs.getInt("userid"));user.setUsername(rs.getString("username"));user.setUserage(rs.getInt("userage"));list.add(user);}}catch(Exception e){e.printStackTrace();}finally{JdbcUtils.closeResource(rs,ps,conn);}// 返回数据集合 return list;}// 测试代码public static void main(String[] args) {FuzzyQueryTest ft = new FuzzyQueryTest();// 相当于查询// select * from users where username like %Y%// 并且保存数据集合List<Users> users = ft.fuzzyQuery("%Y%");for(Users user1 : users){System.out.println(user1.getUserid()+" "+user1.getUsername()+" "+user1.getUserage());}}
}

这里的测试代码实现的是,在users表中查询名字有Y这个字母的所有数据
原表数据为:
在这里插入图片描述
运行后得到结果为
在这里插入图片描述

二. 动态条件查询

动态条件查询就是根据用户给定的条件,来执行对应的查询
例如:要对用户的姓名和年龄对应的数据
这就提升了灵活性,弹性

先复习一下SQL,也就是先使用SQL语句来写一下查询方法
问题:在users表中,查询名字为LuoYi,年龄为18岁的用户信息
那么SQL语句应该是
select * from users where username = ‘LuoYi’ and userage = 18
这样就可以实现查询对应条件的数据了
接下来使用JDBC来实现

1. 创建生成动态条件查询sql的方法

这是在动态条件查询类中创建的一个方法

private String generateSql(Users users){// 初始化SQL语句,使用1=1确保后续条件可以直接用and连接 	  StringBuffer sb = new StringBuffer("select * from users where 1=1 ");// 如果有userid要修改的值// 那么就将这个userid添加到这个查询条件中  if(users.getUserid() > 0){sb.append(" and userid = ").append(users.getUserid());}// 这个也是,如果username有要修改的值// 那么就对应的添加修改条件  if(users.getUsername() !=null &&users.getUsername().length() > 0){// 因为这里的username是字符串,所以要添加单引号  sb.append(" and username = '").append(users.getUsername()).append("'");}// 同理  if(users.getUserage() > 0){sb.append(" and userage = ").append(users.getUserage());}// 最后再将其转换成字符串  return sb.toString();}

2. 完整的动态条件查询类以及测试类

public class DynamicConditionQueryTest {/*** 动态条件查询Users*/public List<Users> queryUsers(Users users){List<Users> list= new ArrayList<>();Connection conn =null;PreparedStatement ps = null;ResultSet rs = null;try{//获取数据库连接conn = JdbcUtils.getConnection();//拼接查询SQL语句String sql = this.generateSql(users);System.out.println(sql);//创建PreparedStatement对象ps = conn.prepareStatement(sql);//执行sql语句rs = ps.executeQuery();while(rs.next()){Users user = new Users();user.setUserid(rs.getInt("userid"));user.setUsername(rs.getString("username"));user.setUserage(rs.getInt("userage"));list.add(user);}}catch(Exception e){e.printStackTrace();}finally{JdbcUtils.closeResource(rs,ps,conn);}return list;}/*** 生成动态条件查询sql*/private String generateSql(Users users){// 初始化SQL语句,使用1=1确保后续条件可以直接用and连接 	  StringBuffer sb = new StringBuffer("select * from users where 1=1 ");// 如果有userid要修改的值// 那么就将这个userid添加到这个查询条件中  if(users.getUserid() > 0){sb.append(" and userid = ").append(users.getUserid());}// 这个也是,如果username有要修改的值// 那么就对应的添加修改条件  if(users.getUsername() !=null &&users.getUsername().length() > 0){// 因为这里的username是字符串,所以要添加单引号  sb.append(" and username = '").append(users.getUsername()).append("'");}// 同理  if(users.getUserage() > 0){sb.append(" and userage = ").append(users.getUserage());}// 最后再将其转换成字符串  return sb.toString();}// 测试类
public static void main(String[] args) {DynamicConditionQueryTest dt = new DynamicConditionQueryTest();Users users = new Users();// 存放的值就是要修改的条件users.setUsername("LuoYi");users.setUserage(18);List<Users> list = dt.queryUsers(users);for(Users user1 : list){System.out.println(user1.getUserid()+" "+user1.getUsername()+" "+user1.getUserage());}}
}

三. 分页查询

1. 什么是分页查询?

当要显示的数据过多时,就会导致内存溢出
那么分页查询就是来避免内存溢出的,降低内存消耗
也就是,我想要一页显示多少,就显示多少

2. 分页查询的分类

  1. 物理分页:
    a. 在数据库执行查询时(实现分页查询),查询需要的数据—依赖数据库的SQL语句
    b. 在SQL查询时,从数据库只检索分页需要的数据
    c. 通常不同的数据库有着不同的物理分页语句
    d. MySql物理分页采用limit关键字
  2. 逻辑分页:
    在sql查询时,先从数据库检索出所有数据的结果集,在程序内,通过逻辑语句获得分页需要的数据
    简单来说,逻辑分页,就是在java程序中,通过循环语句来实现一页显示多少数据

3. MySQL的实现

先复习一下MySQL中的分页查询使用SQL如何实现

select * from tableName limit m,n

其中
m 代表从哪开始(以0为起始)
n 代表需要获取多少行的数据项

例如我们想从users表中先获取前两条数据SQL为:
select * from users limit 0, 2;
那么如果要获取下一页显示2页数据,怎么来实现呢
select * from users limit 2, 2
以此类推,就能够看出规律,n是不变的,然后就看m
m 的公式为: (当前页 - 1) × 每页大小

4. JDBC实现

4.1. 创建page页

这个是分页的实体类

public class Page<T> {// 当前页private int currentPage;// 每页显示的条数private int pageSize;// 总条数private int totalCount;// 总页数private int totalPage;// 结果集private List<T> result;public int getCurrentPage() {return currentPage;}public void setCurrentPage(int currentPage) {this.currentPage = currentPage;}public int getPageSize() {return pageSize;}public void setPageSize(int pageSize) {this.pageSize = pageSize;}public int getTotalCount() {return totalCount;}public void setTotalCount(int totalCount) {this.totalCount = totalCount;}public int getTotalPage() {return totalPage;}public void setTotalPage(int totalPage) {this.totalPage = totalPage;}public List<T> getResult() {return result;}public void setResult(List<T> result) {this.result = result;}
}

4.2. 分页的实现

public class PageTest {/*** 分页查询Users*/public Page<Users> selectPage(Page page){Connection conn = null;PreparedStatement ps = null;ResultSet rs = null;List<Users> list = new ArrayList<>();try{// 获取连接对象conn = JdbcUtils.getConnection();// 创建PrepareStatement对象ps = conn.prepareStatement("select * from users limit ?,?");// 绑定m参数  m的值 = ( 当前页 - 1 ) * 每页显示的条数ps.setInt(1,(page.getCurrentPage()-1)*page.getPageSize());// 绑定n参数 n的值为每页显示的条数ps.setInt(2,page.getPageSize());// 执行查询rs = ps.executeQuery();// 处理结果集while(rs.next()){// 完成ORM映射Users users = new Users();users.setUserid(rs.getInt("userid"));users.setUsername(rs.getString("username"));users.setUserage(rs.getInt("userage"));list.add(users);}// 将结果集存放到Page对象中。page.setResult(list);// 查询总条数ps = conn.prepareStatement("select count(*) from users");// 执行查询rs = ps.executeQuery();while(rs.next()){// 总条数int count = rs.getInt(1);// 保存总条数page.setTotalCount(count);// 换算总页数 = 总条数 / 每页显示的条数 向上取整int totalPage = (int)Math.ceil(1.0*count/page.getPageSize());// 保存总页数page.setTotalPage(totalPage);}}catch(Exception e){e.printStackTrace();}finally{JdbcUtils.closeResource(rs,ps,conn);}return page;}// 测试类public static void main(String[] args) {PageTest pt = new PageTest();Page page = new Page();page.setCurrentPage(2);page.setPageSize(2);Page page1 = pt.selectPage(page);System.out.println("总条数:"+page1.getTotalCount());System.out.println("总页数:"+page1.getTotalPage());System.out.println("当前页:"+page1.getCurrentPage());System.out.println("每页显示的条数:"+page1.getPageSize());List<Users> list = page1.getResult();for(Users user:list){System.out.println(user.getUserid()+ " "+user.getUsername()+" "+user.getUserage());}}
}

原数据为
在这里插入图片描述
输出结果
在这里插入图片描述
现在讲完了,三种查询方式,希望能够帮助到大家
感谢~😊

相关文章:

JDBC实现模糊、动态与分页查询的详解

文章目录 一. 模糊查询1. Mysql的写法2. JDBC的实现 二. 动态条件查询1. 创建生成动态条件查询sql的方法2. 完整的动态条件查询类以及测试类 三. 分页查询1. 什么是分页查询&#xff1f;2. 分页查询的分类3. MySQL的实现4. JDBC实现4.1. 创建page页4.2. 分页的实现 本章来讲一下…...

golang读、写、复制、创建目录、删除、重命名,文件方法总结

文章目录 一、只读文件二、写入文件三、复制文件四、创建目录五、删除目录/文件五、重命名文件 一、只读文件 file, err : os.Open("./main.go")defer file.Close() //打开文件一定要关闭关闭文件if err ! nil {fmt.Println("文件打开失败", err)}/*方案一…...

信贷域——互联网金融业务

摘要 本文深入探讨了信贷域全托与半托业务的定义、特点、适用场景及注意事项&#xff0c;并分析了互联网金融核心信息流的多个方面&#xff0c;包括资金流、信息流、风险流、合规流、物流、技术流和商流&#xff0c;还阐述了金融系统“断直连”业务的相关内容&#xff0c;以及…...

计算机操作系统概要

不谋万世者&#xff0c;不⾜谋⼀时。不谋全局者 &#xff0c;足谋⼀域 。 ——陈澹然《寤⾔》《迁都建藩议》 操作系统 一.对文件简单操作的常用基础指令 ls ls 选项 目录或⽂件名:罗列当前⽬录下的⽂件 -l&#xff1a;以长格式显示⽂件和⽬录的详细信息 -a 或 --all&…...

gRPC开发指南:Visual Studio 2022 + Vcpkg + Windows全流程配置

前言 gRPC作为Google开源的高性能RPC框架&#xff0c;在微服务架构中扮演着重要角色。本文将详细介绍在Windows平台下&#xff0c;使用Visual Studio 2022和Vcpkg进行gRPC开发的完整流程&#xff0c;包括环境配置、项目搭建、常见问题解决等实用内容。 环境准备 1. 安装必要组…...

MATLAB安装常见问题及解决办法

MATLAB安装失败 安装MATLAB时可能会遇到失败的情况,通常是由于系统环境不兼容或安装文件损坏。确保系统满足MATLAB的最低要求,并重新下载安装文件。如果问题仍然存在,可以尝试以管理员身份运行安装程序。 许可证激活问题 在激活MATLAB许可证时,可能会遇到激活失败或无法…...

英语学习5.17

attract &#x1f449; 前缀&#xff1a;at-&#xff08;朝向&#xff09; &#x1f449; 含义&#xff1a;吸引&#xff08;朝某处拉&#xff09; 例句&#xff1a;The flowers attract bees. &#xff08;花吸引蜜蜂。&#xff09; distract &#x1f449; 前缀&#xff…...

深入解析 React 的 useEffect:从入门到实战

文章目录 前言一、为什么需要 useEffect&#xff1f;核心作用&#xff1a; 二、useEffect 的基础用法1. 基本语法2. 依赖项数组的作用 三、依赖项数组演示1. 空数组 []&#xff1a;2.无依赖项&#xff08;空&#xff09;3.有依赖项 四、清理副作用函数实战案例演示1. 清除定时器…...

Scrapy进阶实践指南:从脚本运行到分布式爬取

Scrapy作为Python生态中最强大的爬虫框架之一&#xff0c;其官方文档的"Common Practices"章节总结了多个高频使用场景的解决方案。本文将深入解析如何通过脚本控制爬虫、多爬虫协同工作、分布式部署策略以及反反爬技巧&#xff0c;帮助开发者突破基础使用限制。 一…...

(面试)TCP、UDP协议

TCP&#xff08;传输控制协议&#xff09;和UDP&#xff08;用户数据报协议&#xff09;是互联网核心的传输层协议&#xff0c;负责应用程序之间的数据传输。它们在设计目标、特性和适用场景上有显著差异&#xff1a; TCP&#xff1a;面向连接&#xff0c;可靠的&#xff0c;速…...

数据库blog1_信息(数据)的处理与效率提升

&#x1f33f;信息的处理 &#x1f342;实际中离不开信息处理 ● 解决问题的建模 任何对问题的处理都可以看作数据的输入、处理、输出。 eg.一个项目中&#xff0c;用户点击信息由前端接收传递到后端处理后返回结果eg.面对一个问题&#xff0c;我们在搜集信息后做出处理与分析…...

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(23):受身形

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(23):受身形 1、前言(1)情况说明(2)工程师的信仰2、知识点(1)うけみけい 受身形1、グループ2、グループ3、グループ(2) か ~かどうか1、か2、かどうか3、单词(1)日语(2)日语片假名单词4、相近词练习5、单词…...

kubernetes的Service与服务发现

kubernetes的Service与服务发现 1 Service1.1 Service概念1.2 Service类型1.2.1 ClusterIP1.2.2 NodePort1.2.3 LoadBalancer1.2.4 ExternalName1.2.5 Headless 2 CoreDNS2.1 CoreDNS概念2.2 CoreDNS插件架构2.3 CoreDNS在kubernetes下的工作原理2.4 Pod上的DNS解析策略 3 Ingr…...

python打卡day28

类的简单复习 知识点回顾&#xff1a; 类的定义pass占位语句类的初始化方法类的普通方法类的继承&#xff1a;属性的继承、方法的继承 类就是对属性和方法的封装&#xff0c;一个常见的类的定义包括了&#xff1a; 关键字class类名语法固定符号冒号(:)一个初始化函数__init__(…...

【学习心得】英伟达的诸多显卡性能对比

型号 CUDA核心 显存容量 算力&#xff08;FP32/TFLOPS&#xff09; A100 6912 HBM2e/80G 19.49 A800 6912 HBM2e/80G 19.49 H100 14592 HBM3/80G 51.22 H800 14592 HBM3/80G 51.22 T4 4352 GDDR6/16G 8.14 P40 3840 GDDR5/24G 11.76 L40 18176 G…...

使用Pinia持久化插件-persist解决刷新浏览器后数据丢失的问题

文章目录 一、现象二、原因三、解决&#xff1a;使用Pinia持久化插件-persist安装persistpinia中使用persist插件在创建定义状态时配置持久化 四、参考资料 一、现象 登录成功后&#xff0c;能正常看到文章分类的数据&#xff0c;但只要刷新浏览器就提示服务异常 二、原因 P…...

mysql中4种扫描方式和聚簇索引非聚簇索引【爽文一篇】

目录 一 mysql的聚簇索引&非聚簇索引 1.1 数据表 1.2 聚簇索引 1.3 非聚簇索引 1.4 覆盖索引 二 mysql的4种扫描查询 2.1 全表扫描 2.2 索引扫描 2.3 覆盖索引扫描 2.4 回表扫描 2.5 总结 三 mysql的回表查询详解 3.1 回表查询 一 mysql的聚簇索引&非聚簇…...

交流学习 | 江西同为科技有限公司赴海尔总部考察交流

2025年4月8日至9日&#xff0c;江西同为科技有限公司在江西省科技装备商会的带领下&#xff0c;以蔡文君经理为代表&#xff0c;一行人赴山东青岛海尔总部开展两天的考察交流活动。本次考察不仅深入剖析了海尔企业的前沿技术与管理理念&#xff0c;更促进了行业内科技创新、商业…...

AGI大模型(20):混合检索之rank_bm25库来实现词法搜索

1 混合检索简介 混合搜索结合了两种检索信息的方法 词法搜索 (BM25) :这种传统方法根据精确的关键字匹配来检索文档。例如,如果您搜索“cat on the mat”,它将找到包含这些确切单词的文档。 基于嵌入的搜索(密集检索) :这种较新的方法通过比较文档的语义来检索文档。查…...

QT调用Halcon查询所有摄像头名称

QT软件中的测试代码 //获取当前连接的所有设备信息实例HTuple hv_general, hv_ValueList;InfoFramegrabber("DirectShow", "device", &hv_general, &hv_ValueList);qDebug()<<QString::fromUtf8(hv_general.S().Text());//Value list for de…...

16 C 语言布尔类型与 sizeof 运算符详解:布尔类型的三种声明方式、执行时间、赋值规则

1 布尔类型 1.1 布尔类型概述 布尔类型用于表示逻辑上的真&#xff08;true&#xff09;和假&#xff08;false&#xff09;两种状态&#xff0c;是编程中条件判断和逻辑运算的基础。在 C 语言中&#xff0c;布尔值的表示方式随着标准的发展而不断完善。 1.2 布尔类型的三种声…...

配置ssh服务-ubuntu到Windows拷贝文件方法

背景&#xff1a; 在工作中&#xff0c;需要频繁从ubuntu到Windows拷贝文件&#xff0c;但有时间总是无法拷出&#xff0c;每次重启虚拟机又比较麻烦并且效率较低。可以使用scp服务进行拷贝&#xff0c;不仅稳定而且高效&#xff0c;现将配置过程进行梳理&#xff0c;以供大家参…...

使用ts-node搭建typescript运行环境

目录 首先安装好node.js 安装typescript 安装ts-node 创建一个typescript文件 使用ts-node运行typescript文件 首先安装好node.js 安装typescript npm install typescript4.7.4 -g 安装ts-node npm install ts-nodev10.8.1 -g 创建一个typescript文件 文件名为app.ts&a…...

如何深入学习MATLAB的高级应用?

文章目录 要深入学习 MATLAB 的高级应用&#xff0c;需要在掌握基础语法后&#xff0c;系统性地学习特定领域的工具箱和算法&#xff0c;并通过实战项目提升能力。以下是分阶段的学习路径和资源推荐&#xff1a; 一、深化核心技能 高级矩阵运算与线性代数 matlab % 稀疏矩阵处…...

英汉 “语言” 初印象:符号背后的文化底色​

英汉 “语言” 初印象&#xff1a;符号背后的文化底色​ ​ 原始尺寸更换图片 ​​ 在生活里&#xff0c;我们每天都会进行各式各样的交流&#xff0c;或许不曾留意&#xff0c;汉语和英语这两种极具代表性的语言&#xff0c;从最简单的问候语中就能展现出它们独特的文化内…...

C语言_编译全攻略_从原理到实战的深度解析

在 C 语言开发中,编译是连接源代码与可执行程序的关键桥梁。理解编译过程不仅能提升开发效率,更能帮助我们定位内存泄漏、性能瓶颈等深层次问题。本文将从编译原理出发,结合 GCC 工具链,带你掌握 C 语言编译的核心技术。 一、编译流程底层原理 1. 编译四阶段详解 预处理…...

AGI大模型(21):混合检索之混合搜索

为了执行混合搜索,我们结合了 BM25 和密集检索的结果。每种方法的分数均经过标准化和加权以获得最佳总体结果 1 代码 先编写 BM25搜索的代码,再编写密集检索的代码,最后进行混合。 from rank_bm25 import BM25Okapi from nltk.tokenize import word_tokenize import jieb…...

Vue3学习(组合式API——ref模版引用与defineExpose编译宏函数)

目录 一、ref模版引用。 &#xff08;1&#xff09;基本介绍。 &#xff08;2&#xff09;核心基本步骤。(以获取DOM、组件为例) &#xff08;3&#xff09;案例&#xff1a;获取dom对象演示。 <1>需求&#xff1a;点击按钮&#xff0c;让输入框聚焦。 &#xff08;4&…...

Zephyr OS 中的 FIFO 接口应用介绍

目录 概述 1 FIFO的接口函数 1.1 K_FIFO_DEFINE函数 1.2 k_fifo_init函数 1.3 k_fifo_put函数 1.4 k_fifo_get 函数 1.5 k_fifo_is_empty 函数 2 应用验证 2.1 UART中使用FIFO范例 2.2 生产-消费类型范例 3 注意事项 3.1 内存管理 3.2 线程安全边界 概述 Zephy…...

前端基础之CSS

基本语法规范 引入方式 1.内部引入 <style>p{color:blue ;font-size:30px;}</style> 2.行级引入 <p style "color : green ;font-size : 40px;">hello ,wyx</p><p>hello , wyx1</p><h1>hello , wyx2</h1> 3.外…...

【Linux网络】DNS与ICMP

DNS(Domain Name System) DNS是一整套从域名映射到IP的系统。 DNS背景 TCP/IP使用IP地址和端口号来确定网络上的一台主机的一个程序。但是IP地址不方便记忆。 于是人们发明了一种叫主机名的东西&#xff0c;是一个字符串&#xff0c;并且使用hosts文件来描述主机名和IP地址的…...

第二十七天打卡

一些函数 for i in range(2, 10000):if is_prime(i):print(i) if ...: 这是 Python 里的条件判断语句&#xff0c;当 is_prime(i) 的返回值为 True 时&#xff0c;就会执行 if 语句块里的代码。 func.__name__ 的作用 func.__name__ 是 Python 中函数对象的一个特殊属性&am…...

38-日语学习小程序

系统功能特点&#xff1a; 技术栈: springBootVueMysqlUni-app 功能点: 用户端 管理员端 用户端: 1.首页: 轮播图展示、N2词汇列表、网站公告列表 2.学习模块: 有五十音图 词汇 语法 3.社区模块: 可进行发帖 也可查看帖子进行回复 可查看小组 4.我的: N2词汇(点击查看详情…...

信贷风控笔记6——风控常用指标(面试准备14)

一、PSI&#xff1a; 1.计算过程&#xff1a;变量分箱10-20箱&#xff1b;统计各分箱内样本占比&#xff1b; 算各个分箱的index&#xff08;实际占比-预期占比&#xff09;*ln&#xff08;实际占比/预期占比&#xff09;&#xff1b; 将各分箱index求和得PSI 2.情况分类&…...

UDP三种通信方式

单播&#xff08;Unicast&#xff09; 单播是最常见的通信方式&#xff0c;数据从一个发送方传输到一个特定的接收方。发送方将数据包发送到接收方的IP地址和端口号&#xff0c;接收方通过监听指定的端口接收数据。单播适用于一对一的通信场景。 import java.net.DatagramPac…...

Windows运维工具批处理版

测试环境&#xff1a;windows10 必看&#xff1a; 1.新建记事本&#xff0c;另存为&#xff1a;文件类型所有文件&#xff0c;文件名运维.bat&#xff0c;编码ansi&#xff0c;复制代码&#xff0c;保存&#xff0c;双击运行 2.有的功能需要输入管理员密码&#xff0c;如果没…...

无需配置光猫,使用网管交换机配合路由器的IPTV功能实现单线复用

一、背景 弱电箱和电视柜只预留了一根网线&#xff0c;路由器放在电视柜&#xff0c;想实现既可以上网又可以正常观看iptv&#xff0c;本文提供了一种方法。 二、准备工作 1、带iptv功能的路由器&#xff1b;2、水星sg105pro网管交换机&#xff1b;3、网线若干&#xff1b; …...

Elasticsearch 官网阅读之 Term-level Queries

Term-level Queries 参考&#xff1a;https://www.elastic.co/docs/reference/query-languages/query-dsl/query-dsl-exists-query 一、Term Query Term Query 是 term 精准查询。需要注意的是&#xff0c;在进行 Term Query 的时候&#xff0c;要避免 text 类型的字段&#x…...

医疗大模型技术演进与行业应用全景

摘要 本文系统梳理医疗大模型技术架构的三大演进阶段,深度解析Transformer架构优化、多模态融合、模型压缩等核心技术突破。结合Google Med-PaLM、启真医疗大模型等16个典型行业案例,揭示医疗大模型在诊断辅助、药物研发、医院管理等九大场景的应用成效。基于权威评测数据,…...

【软考 McCabe度量法】

McCabe度量法&#xff08;McCabe’s Cyclomatic Complexity&#xff09;是由Thomas McCabe提出的一种用于衡量程序模块环路复杂性的软件度量方法。它通过分析代码的控制流结构来评估程序的复杂度&#xff0c;帮助开发者识别难以维护或测试风险较高的代码区域。 一、McCabe度量法…...

LabVIEW光谱信号仿真与数据处理

在光谱分析领域&#xff0c;LabVIEW 凭借其图形化编程、丰富函数库及强大数据处理能力&#xff0c;成为高效工具。本案例将介绍如何利用 LabVIEW 仿真光谱信号&#xff0c;并对实际采集的光谱数据进行处理&#xff0c;涵盖信号生成、数据采集、滤波、分析及显示等环节。 ​ 一…...

从零开始认识 Node.js:异步非阻塞的魅力

Node.js 是一个基于 Chrome V8 引擎 的 JavaScript 运行时环境&#xff0c;用于在服务器端运行 JavaScript 代码。它的设计目标是让开发者能够用 JavaScript 构建高性能、可扩展的网络应用。以下是关于 Node.js 的详细介绍&#xff1a; 1. 核心特点 事件驱动与非阻塞 I/O&…...

ECMAScript 2018(ES2018):异步编程与正则表达式的深度进化

1.版本背景与发布 发布时间&#xff1a;2018年6月&#xff0c;由ECMA International正式发布&#xff0c;标准编号为ECMA-262 9th Edition。历史意义&#xff1a;作为ES6之后的第三次年度更新&#xff0c;ES2018聚焦于异步编程、正则表达式和对象操作的标准化&#xff0c;推动…...

【gitee 初学者矿建仓库】

简易的命令行入门教程: Git 全局设置: git config --global user.name "你的名字"触摸 git config --global user.email "你的邮箱"创建 git 仓库: mkdir codestore cd codestore git init -b "main" touch README.md # 选择运行 git add REA…...

Java 类和对象

文章目录 类和对象实例化对象this构造和初始化封装访问修饰限定符包自定义包 static代码块 类和对象 Java当中一切皆对象对象是什么呢&#xff1f; 比如是一个人&#xff0c;手机等怎么描述对象呢&#xff1f; 可以用类描述对象&#xff0c;可以理解类为一个模版&#xff0c;用…...

湖北理元理律师事务所:科学债务管理模型构建实录

债务问题本质是资源错配问题。湖北理元理律师事务所基于400案例的司法大数据&#xff0c;提炼出一套“三阶九步”债务管理模型&#xff0c;本文从技术视角解析其运作逻辑与实操价值。 模型架构&#xff1a;从诊断到执行的全周期管理 阶段一&#xff1a;债务体检&#xff08;1…...

JavaScript vs Python 用于 Web Scraping(2025):终极对比指南

1. 引言 在不断发展的 Web Scraping 领域&#xff0c;选择合适的编程语言对于项目的成功至关重要。虽然 JavaScript 和 Python 在 2025 年仍然是 Web Scraping 领域的热门选择&#xff0c;但它们各自具备不同的优势和挑战。 本指南将深入分析 JavaScript 和 Python 的核心特性…...

数据结构day3

一、gdb调试 gcc -g main.c linklist.c // 对两个.c文件进行编译,生成 a.out 文件 gdb a.out //调试可执行文件 a.out b linklist.c:36 // 在该.c文件第 36 行设置断点 r // 运行程序,但会在断点前停…...

VSCode launch.json 配置参数详解

使用 launch.json 配置调试环境时&#xff0c;会涉及到多个参数&#xff0c;用于定义调试器的行为和目标执行环境。以下是一些常用的配置参数&#xff1a; 1、"type" &#xff1a;指定调试器的类型&#xff0c;例如 "node" 表示 Node.js 调试器&#xff0…...

[已解决] LaTeX “Unicode character“ 报错 (中文字符处理)

问题&#xff1a; 写 LaTeX 文档&#xff0c;特别是包含中文时&#xff0c;经常遇到类似下图的 “Unicode character XXXXXX” 报错 (X) Unicode character 本 (U672C) LaTeX [行 xx, 列 x] (X) Unicode character 报 (U62A5) LaTeX [行 xx, 列 x] ...这通常意味着我们的 LaTe…...