【MySQL】JDBC编程

【MySQL】JDBC编程

MySQL(七)JDBC编程

一、驱动包

1.性质

1.1底层差异性

1.2JDBC接口统一性

2.导入

2.1复制导包

2.2标记作库

二、JDBC编程

1.寻找资源

1.1URL

1.1.1网址作用

1.1.2主机IP

1.1.3端口号

1.1.4数据库名

1.1.5访问资源参数

2.访问认证

2.1身份

2.2密码

3.连接通道

4.数据传输

4.1创建传输包

4.1.1创建sql

4.1.1.1+拼接变量

4.1.1.2?替换变量

4.2发送传输包

4.2.1发送写sql

4.2.2发送读sql

4.2.2.1遍历记录

4.2.2.2读取记录

5.回收资源

5.1销毁结果集合

5.2销毁传输包

5.3销毁通道


一、驱动包

1.性质

1.1底层差异性

应用程序 都是用代码写出来的,不同的应用程序,其设计时的编程模范 会不同,所以 为编程语言 代码操作使用层 设计给的驱动包里 类与接口的范式 也就会随着 对应上底层程序的代码 而不同


1.2JDBC接口统一性

在数据库应用程序里,Java规定了 必须以Java设计的 数据库编程接口JDBC 来操作使用数据库,所以各数据库厂商 就多设计了 底层接口 等效形式转化成 JDBC接口的 驱动程序,使得Java 用JDBC统一了 所有数据库的API接口


2.导入

任何应用程序的 编程层操作使用,都需要将 应用程序设计好的 实现使用功能的 类与接口 通过驱动包导入 进编程项目中 作为第三方库使用

2.1复制导包

驱动包 复制导入 要作为第三方库的 目录

所有的.java文件 加载成 许多.class文件,所有的.class文件 整理打包好 到一个.jar压缩包文件 进行程序发布的


2.2标记作库

驱动包所处的目录 标记成 第三方库


二、JDBC编程

1.寻找资源



((MysqlDataSource)dataSource).setUrl(String_URL);

mysql数据源 通过URL网址 找到mysql服务器 所在网络上的 具体资源位置

1.1URL

"jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8&useSSL=false"

1.1.1网址作用

jdbc:mysql 表明该网址 是用来给 jdbc程序操作mysql 使用的


1.1.2主机IP

127.0.0.1 是jdbc要操作的 mysql服务器的 所处主机的 网络IP地址,当jdbc应用程序 本身所处的主机 就同是mysql服务器所处的 同台主机时,使用127.0.0.1环回IP 指向应用程序自己所处的主机 即就指向了 mysql服务器主机的位置


1.1.3端口号

一台主机上 有许多的应用程序 都要操作网络,3306mysql与网络对接的 端口号


1.1.4数据库名

确定jdbc 要操作mysql服务器里的 哪个数据库


1.1.5访问资源参数

键对应填值 的形式填写参数,键值对之间 用&分隔

characterEncoding=utf8以utf8字符集 进行数据库与应用程序的 数据传输

useSSL=false数据库与应用程序之间的网络通信 中间是否要加密


2.访问认证

2.1身份

((MysqlDataSource)dataSource).setUser(String_Ident);

mysql数据源 确定jdbc 访问数据库的身份,root 是mysql默认自带有的用户(管理员)
2.2密码

((MysqlDataSource)dataSource).setPassword(String_Passworld);

mysql数据源 确定jdbc 访问数据库的密码

3.连接通道

dataSource.getConnection();

—> return Connection

数据源 寻找并成功访问上之后,数据源 向jdbc 建立连接通道,后续在通道中进行 请求-响应 的交互

4.数据传输

4.1创建传输包

connection.prepareStatement(String_sql);

—> return PreparedStatement

在连接通道中 创建传输包,将要发送的 sql语句字符串 存储在传输包中,传输包 会进行sql语句的 预处理解析、检查 并把解析的结构化数据打包,在应用程序这边 完成解析检查这部分的工作,减少了mysql服务器的 开销负担
4.1.1创建sql
4.1.1.1+拼接变量
String sql = "insert into student values("+id+",' "+name+" ')";

变量 可直接+拼接进sql语句字符串,但这样会使得 可以通过在sql语句中 对变量输入非法内容 实现对数据库的攻击,不安全

4.1.1.2?替换变量

preparedStatement.setDatatype(下标,变量);

使用占位符? 先替入 后规范换 的方式 可将变量安全替换进 sql字符串中,占位符的下标是从1开始的

4.2发送传输包

4.2.1发送写sql

preparedStatement.executeUpdate();

—> return int

传输包 以写的形式 将自己发送到数据库服务器 执行,返回数据库中 影响到的行数
4.2.2发送读sql

preparedStatement.executeQuery();

—> return ResultSet

传输包 以读的形式 将自己发送到数据库服务器 执行,返回 查询结果临时表的 结果集合
4.2.2.1遍历记录

resultSet.next();

—> return boolean

从临时表的 第0个记录开始,往后 保存光标位置遍历 取得一个记录,遍历到表尾空时 返回false
4.2.2.2读取记录

result.getDatatype("col_name");

—> return Datatype

获取 遍历所处记录的 指定字段数据

5.回收资源

后获取到的资源先释放 的顺序 回收资源

5.1销毁结果集合

resultSet.close();
5.2销毁传输包

preparedStatement.close();
5.3销毁通道

connection.close();

Read more

从DeepSeek-R1爆火看开源大模型推理优化:我在脉脉找到的实战方案

从DeepSeek-R1爆火看开源大模型推理优化:我在脉脉找到的实战方案

🎁个人主页:User_芊芊君子 🎉欢迎大家点赞👍评论📝收藏⭐文章 🔍系列专栏:AI 文章目录: * 【前言】 * 一、场景痛点直击:两个行业的共性困境与差异化难题 * 1. 电商智能客服场景(日均请求10万+) * 2. 金融智能咨询场景(日均请求3万+) * 二、实战突破:分场景落地优化方案(附完整代码+流程图) * 1. 核心优化架构总览(流程图) * 2. 分场景核心代码实现(新增4个关键代码片段) * (1)量化分级实现(适配金融场景精度需求) * (2)多租户隔离与共享实例实现(适配电商、金融双场景) * (3)边缘节点轻量化部署代码(适配电商峰值卸载) * (4)动态批处理与负载调度优化(核心优化代码) * 3. 优化效果对比表(分场景) * 三、脉向AI核心价值:技术人破圈的“

By Ne0inhk
【FPGA干货】详解高速ADC的串行LVDS数据捕获与接口设计

【FPGA干货】详解高速ADC的串行LVDS数据捕获与接口设计

【FPGA干货】详解高速ADC的串行LVDS数据捕获与接口设计 前言 在现代高速数据采集系统中,随着ADC采样率的不断提升(从几十MHz到几百MHz甚至更高),传统的并行CMOS/LVDS接口因占用引脚过多、布线困难等问题逐渐被串行LVDS接口取代。TI(德州仪器)的许多多通道ADC(如ADS528x, ADS529x系列)都采用了这种接口。 然而,串行LVDS接口虽然减少了PCB走线数量,却给FPGA接收端的设计带来了巨大的挑战:如何在几百Mbps甚至Gbps的速率下,稳定地实现位同步(Bit Alignment)和帧同步(Frame Alignment)? 1. 认识串行LVDS接口 一个典型的高速ADC串行LVDS接口通常包含以下三类信号: 1. 串行数据 (Serial Data, D0…DN−1D_0 \dots D_{N-1}D0 …DN−1 ):ADC的采样数据通过一对或多对LVDS线串行输出。 2. 位时钟 (Bit Clock, LCLK/DCLK):通常是DDR(

By Ne0inhk

学Simulink——协作机器人场景实例:基于Simulink的协作机器人阻抗控制仿真

目录 手把手教你学Simulink 一、引言:为什么“机器人一碰就硬,无法像人手一样柔顺”?——传统位置控制缺乏对外力的顺应性,阻抗控制赋予机器人“可编程刚度”! 二、阻抗控制 vs 导纳控制:本质区别 三、应用场景:7轴协作臂执行两类柔顺任务 场景1:恒力垂直按压(康复按压训练) 场景2:侧向意外碰撞(人机共融安全) 四、系统架构(Simulink 实现框架) 五、建模与实现步骤(Simulink 全流程) 第一步:搭建7-DOF协作臂 + 六维力传感器模型 1. 机器人模型(Simscape Multibody) 2. 六维力传感器(仿真) 第二步:设计笛卡尔空间二阶阻抗模型 阻抗方程: 参数设计(示例): Simulink 实现: 第三步:

By Ne0inhk

Qwen3-VL果园采摘机器人:果实定位与可采摘性判断

Qwen3-VL果园采摘机器人:果实定位与可采摘性判断 在传统果园里,采摘季的清晨总是伴随着工人们弯腰、攀爬和反复伸手的动作。他们依靠经验判断哪个苹果够红、哪串葡萄已成熟,还要避开那些被枝叶紧紧包裹、难以触及的果子。这种依赖人力的方式不仅效率低、成本高,而且受天气、劳动力短缺等因素影响极大。随着农业智能化浪潮的到来,越来越多的研究者开始思考:能不能让机器人像老农一样“看懂”一棵树?不仅能认出果实,还能判断它是否值得摘、能否摘得着? 这正是Qwen3-VL带来的突破——它不只是一个图像识别模型,而是一个具备空间理解、逻辑推理和自然语言交互能力的“果园大脑”。通过将视觉与语言深度融合,它能回答诸如“图中哪些苹果可以采摘?”这样的复杂问题,并给出结构化、可执行的答案。 视觉-语言模型如何改变农业认知方式? 过去,自动化采摘系统多依赖于传统的计算机视觉流水线:先用YOLO或Mask R-CNN检测果实,再通过额外的深度学习模块估算距离或遮挡程度,最后由规则引擎决定是否采摘。这套流程看似完整,实则脆弱——光照变化、密集果实、部分遮挡都可能导致误判。更关键的是,这些模块之间缺乏上下文关联,

By Ne0inhk