JDBC 介绍(六)

保姆级教程:用ComfyUI+LTX-Video插件,5分钟搞定你的第一个AI视频(RTX 4060实测) 本文提供了一份详细的ComfyUI与LTX-Video插件使用指南,帮助用户在RTX 4060显卡上快速生成AI视频。从环境部署到图形化操作,再到提示词优化和性能调优,全面覆盖AI视频生成的各个环节,让零基础用户也能轻松上手。 阅读详情
BLOB  and  CLOB

如果将要记录写入数据库,可以在字段上使用BLOB或CLOB类型字段,BLOB(Binary Large Object)用于存储大量的二进制位数据,CLOB(Character Large Object)用于存储大量的文字资料.
在JDBC中也提供了Blob与Clob两个类型分别代表BLOB与CLOB类型数据,JDBC并没有提供直接存取BLOB或CLOB的API(诸如setBlob(),setClob()等),但可以使用PrepareStatement的setBinaryStream(),setObject(),setAsciiStream(),setUnicodeStream()等方法来代替,例如可以用下方法取得一个文件,并将其存入数据库中:
           File file=new File(".//logo.jpg");
           int length=(int)file.length();
           InputStream fin=new FileInputStream(file);
           PreparedStatement pstmt=conn.preparedStatement("INSERT INTO files VALUES(?,?)");
           pstmt.setString(1,"LOGO");
           pstmt.setBinaryStream(2,fin,length);   //将文件流写入
           pstmt.executeUpdate();
           pstmt.clearParameters();
           pstmt.close();
           fin.close();
如果要从数据库中取得BLOB和 CLOB类型数据,可以用以下方法:
          Blob blob=result.getBlob(2);  
          Clob clob=result.getClob(2);

Blob拥有getBinaryStream(),getBytes()等方法,可以取得二进制串流或byte等资料,同样,Clob可以通过getCharacterStream(),getSubString()等方法,可以取得字元串流或子字串等数据(详细查看API文件)

下面举例说明操作Blob,Clob数据
import java.io.*;
import java.sql.*;
public class BLOBCLOBDemo{
         public static void main(String[] args){
                   String driver="com.mysql.jdbc.Driver";
                   String url="jdbc:mysql://localhost:3306/upload?";
                   String username="myname";
                   String password="123456";
                  try{
                          Connection conn=conn.getConnection(url,username,password);
                          File file=new File(".//logo.jpg");
                          int length=(int) file.length();
                          InputStream fin=new FileInputStream(file);
                          PreparedStatement pstmt=new PreparedStratement("INSERT  INTO files VALUSE(?,?)");
                          pstmt.setString(1,"LOGO");
                          pstmt.setBinaryStream(2,fin,length);
                          pstmt.executeUpdate();
                          pstmt.clearParameters();
                          pstmt.close();
                          fin.close();
                          //取出资料并存档
                          Statement stmt=conn.createStatement();
                          ResultSet result=stmt.executeQuery("SELECT * FROM files");
                          result.next();
                          String description=result.getString(1);
                          Blob blob=result.getBlob(2);
                         
                          System.out.println("文件描述:"+description);
                         FileOutputStream fout=new FileOutputStream(".//logo2.jpg");
                          fout.write(blob.getBytes(1,(int)blob.length()));
                          fout.flush();
                          fout.close();
                          stmt.close();
                          conn.close();
                   }
                    catch(ClassNotFoundException e) {
                           System.out.println("找不到驱动程序"); 
                           e.printStackTrace();
                   }
                   catch(SQLException e) { 
                           e.printStackTrace(); 
                   }
                  catch(IOException e) {
                        e.printStackTrace();
                   }
          }
}
W5500以太网&PoE扩展模块原理图设计,已量产 本文将以 W5500 以太网 & PoE 扩展板为对象,从嵌入式硬件设计的视角,深度拆解其电路架构、核心器件选型、关键功能实现,以及这款板子解决行业痛点的设计思路。 阅读详情

相关推荐

用MCP扩展Cursor的5种神奇用法:从文件操作到网页抓取实战

本文深入探讨了如何利用MCP(Model Context Protocol)扩展Cursor AI编程助手,解锁五种高效实用场景。从文件系统操作、网页内容抓取,到数据库查询、Figma设计稿对接,乃至构建自定义MCP服务器,文章通过实战案例展示了如何将Cursor从代码编辑器升级为能理解并操作工作环境的智能助手,显著提升开发效率与自动化水平。

weixin_29231027的博客 315

spring jdbc PreparedStatementCallback使用方式

JdbcTemplate jdbcTemplate = (JdbcTemplate) context.getBean("jdbcTemplate"); // final String sql = "INSERT INTO t_user(user_name) VALUES (?)"; Integer count = (Integer) jdbcTemplate.execute(ne...

用技术点亮生命,用产品温暖人心,探讨coding真谛,感悟技术精神。 3816

基于级联H桥的储能变流器仿真与性能优化

本文深入探讨了基于级联H桥的储能变流器,通过仿真建模与性能优化,详细解析了其模块化结构、载波移相SPWM控制策略及核心性能指标。重点攻克了电池SOC均衡难题,介绍了利用零序电压注入实现相内均衡及功率调节实现相间均衡的实战策略,为提升储能系统效率与电池寿命提供了关键技术路径。

gpu4optimizer的博客 370

PreparedStatement

package com.qilu.jdbcDemo; import java.sql.*; /* * preparedStratement的使用。 * 预编译语句 */ public class JDBCDemo2 { public static void main(String[] args) { //声明驱动 try { Class.forName("com

csdt_csdt的专栏 685

模块 stm32_基于STM32设计的RFID读卡模块电路方案(原理图+程序)

采用stm32F030F4,用PWM产生125KHZ的方波,经过推挽电路进行功率放大,高频电流进入LC串联谐振电路,345uH和4.7NF的谐振频率正好是125KHZ,这时电容两端电压会到十几伏。当有卡接近线圈时,线圈两端会有曼彻斯特编码的调幅波。通过二极管以及电容的检波和滤波,产生的小信号送入LM358进行放大和整形,变成单片机可以读取的曼彻斯特编码信号。• IO 分配(采用内部晶...

weixin_28686771的博客 3815

BrepNet实战:5分钟搞定三维CAD模型的加工特征识别(附Python代码)

本文详细介绍了BrepNet在三维CAD模型加工特征识别中的实战应用,通过Python代码演示了从环境搭建到模型训练的全流程。BrepNet基于边界表示(BRep)的深度学习框架,能够高效识别加工特征,显著提升工业设计和智能制造领域的效率。文章还提供了性能优化和部署建议,帮助开发者快速实现AI驱动的几何特征识别。

weixin_29044713的博客 506

一文搞懂JDBC

前言 参考视频: JDBC从入门到精通视频教程(老杜讲的,还不错)https://www.bilibili.com/video/BV1Bt41137iB Java Web从入门到实战【完整版】p24-p26 https://www.bilibili.com/video/BV1BJ411L7NR 参考文章: java3y的三歪教你学JDBC.epub jdbc入门 1.什么是jdbc jdbc全称是Java DataBase Connectivity,是⼀个独⽴于特定数据库的管理系统,通⽤的 SQL

weixin_44226752的博客 193

谁还攥着旧的类加载器:Metaspace OOM 的元数据记账、类卸载条件与泄漏定位解析

MetaSpace区是JVM内存管理中的关键部分,负责存储类元数据。随着Java 8的推出,MetaSpace取代了PermGen区,但其灵活性也带来了新的挑战,尤其是在动态类加载和频繁类更新的场景下,容易导致MetaSpace内存溢出(OOM)问题。本文探讨了MetaSpace OOM的根本原因,包括类加载器泄漏、内存管理不当和GC效率低下等,并提供了一系列调优策略和解决方案,帮助开发者有效排查和防止此类问题的发生,确保应用程序的稳定性和高可用性。

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 15万+

JDBC

JDBC1、JDBC是什么?2、JDBC的本质是什么?3、JDBC开发前的准备工作4、JDBC编程六步(需要背会)5、示例源码: 1、JDBC是什么? Java DataBase Connectivity(Java语言连接数据库) 2、JDBC的本质是什么? JDBC是SUN公司制定的一套接口(interface) java.sql.*; (这个软件包下有很多接口。) 接口都有调用者和实现者...

qq_43748400的博客 794

实战封神!YOLOv7 轻量化部署全攻略:ONNX格式转换+TensorRT极致加速(速度直接提升3-5倍,精度无损)

部署核心链路,这是YOLO系列部署的最优解,速度提升3~5倍,精度无损;ONNX是桥梁:解决模型兼容性问题,简化后能去掉冗余节点,是TensorRT加速的前提;TensorRT是核心:NVIDIA显卡的极致加速引擎,FP16量化是速度与精度的最优平衡,无需手动配置,一键开启;轻量化终极组合YOLOv7-tiny + 416尺寸 + TensorRT FP16,速度提升5~8倍,满足所有实时检测场景;避坑核心:转换参数必加,推理尺寸必须一致,engine文件显卡专属。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 308

海思3403烧结、复用及mic输入

3403调试的第一步是版本烧结,版本烧结经常遇到问题,本文记录总结遇到的各种问题。

平面到立体 1354

JavaWeb阶段-JDBC

讲解了Java语言如何连接数据库,对数据库中的数据进行增删改查操作,适合于已经学习过Java编程基础以及数据库的同学。Java教程中阐述了接口在开发中的真正作用,JDBC规范制定的背景,JDBC编程六部曲,JDBC事务,JDBC批处理,SQL注入,行级锁等。

小飞猪的博客 974

【推荐100个unity插件】性能极高的逼真爆炸、火焰和烟雾效果——UNI VFX

这是一篇关于Unity中高性能GPU粒子特效插件UNI VFX的使用指南。文章介绍了该插件提供逼真的爆炸、火焰和烟雾效果,支持URP和HDRP渲染管线。主要内容包括:插件安装方法(需预先安装Visual Effect Graph和Shader Graph包)、事件系统使用方法(如create/loop/stop等事件控制)、特效分类(自动结束型和持续型特效)、检视面板配置技巧以及性能优化建议(特别提醒灯光特效对性能的影响较大)。文末还推荐了多个Unity开发相关的专栏内容。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 1487

JDBC相关记录

Java DadaBase Connectivity 即Java语言连接数据库。本质:JDBC是SUN公司制定的一套接口(interface)。作用:不同的数据库有自己独特设计原理,JDBC的可以让Java程序员关注业务本身,而不需要关注数据库底层是怎么实现的。(面向接口编程的作用:解耦合——降低程序的耦合度,提高程序的扩展力。多态机制就是典型的面向抽象编程。:先从官网下载对应的驱动jar包,然后将其配置到环境变量classpath当中(针对文本编辑器开发,使用IDEA有自己的配置方式)。

Z__XY_的博客 740

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

JDBC学习

由于每一个数据库的底层实现原理不一样,Oracle数据库有自己的实现原理,Mysql数据库有自己的实现原理,MS(SqlServer)有自己的实现原理,所以sun公司制定了一套接口,由各大数据库厂家去实现,程序员只需要去调用这套接口即可,这套接口就是JDBC; Java DataBase Connective--Java与数据库的连接; JDBC本质是sun公司制定的一套接口,java.sql.*; ...

y_w_x_k的博客 1047

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

JDBC新手必会

JDBC新手必会 jdbc是什么 java连接数据库 java database connectivity jdbc的本质是什么 是sun公司提供的一套接口 接口都有调用者和实现者 面向接口调用 面向接口写实现类 这都属于面向接口编程 为什么要面向接口编程 解耦合:降低程序的耦合度 提高程序的可扩展力 多台机制就是非常典型的面向抽象编程(是面向具体编程) 建议以后写也用多态机制 父类型的引用指向子类型的对象 jdbc使用流程 java程序员面向接口编程 》 调用jdbc接口 》 数据库厂家java程序员提供

zxha6868的博客 194

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

JDBC连接数据库

目录 1、JDBC是什么? 2、JDBC的本质是什么? 3、JDBC开发前的准备工作,先从官网下载对应的驱动jar包,然后将其配置到环境变量classpath当中。 4、JDBC编程六步(需要背会) 完整代码(第一种SQL查询语句) 完整代码(第二种SQL删除语句) 1、JDBC是什么? Java DataBase Connectivity(Java语言连接数据库) 2、JDBC的本质是什么? JDBC是SUN公司制定的一套接口(interface...

m0_59960728的博客 678

JDBC执行流程及原理

结果集ResultSet类似于迭代器,通过rs.next()是否有元素来进行遍历取出该条目。rs.getString/Int/Dboule 来获取对应的值。Java DataBase Connectivity(Java语言连接数据库)JDBC是SUN公司制定的一套接口(interface)java.sql.*;(这个软件包下有很多接口。

weixin_43287459的博客 441

JDBC基础入门学习教程,轻松掌握jdbc基础+核心技术

JDBC是什么? JDBC是Sun提供的一套数据库编程接口API函数,由Java语言编写的类、界面组成。 JDBC API 的设计初衷就是为了让简单的事情更简单,这意味着JDBC使得执行所有数据库任务都更容易. 用JDBC写的程序能够自动地将SQL语句传送给相应的数据库管理系统。不但如此,使用Java编写的应用程序可以在任何支持Java的平台上运行,不必在不同的平台上编写不同的应用。 Java和JDBC的结合可以让开发人员在开发数据库应用程序时真正实现“WriteOnce,RunEverywhere

f5465245的博客 332

JDBC笔记

1、jdbc是什么? java database connection :java语言连接数据库 本质是一套接口 2、JDBC开发前的准备工作 先从官网下载对应的驱动jar包,然后将其配置到环境变量classpath当中。 比如:classpath=. ;D: \course\06-JDBC\resources\MySq1 Connector Java 5.1.23\mysql -connector -java- 5.1.23- -bin.jar 以上的配置是针对于文本编辑器的方式开发,使用IDEA工具的时

manxianglin的博客 215

JDBC快速入门

JDBC全名叫做:Java database connectivity翻译(Java语言连接数据库)。其实它的本质就是sun公司定制的一套接口(interface)

c3095255243的博客 1925

JDBC——连接MySQL数据库

JDBC是SUN公司制定的一套接口(interface)

一米九的博客 1259

【MySQL】JDBC —— Java 连接 MySQL

JDBC(Java Database Connectivity)是Java语言操作数据库的一套标准接口。你可以把它想象成**“Java和数据库之间的桥梁”**。作用:用Java代码连接数据库(如MySQL、Oracle),执行SQL语句(增删改查),并处理结果。为什么需要它?不同数据库有自己的“方言”(如MySQL用VARCHAR,Oracle用VARCHAR2),JDBC统一了操作方式,开发者只需学一套API。JDBC核心:通过获取连接,用执行SQL,处理ResultSet结果。最佳实践。

m0_72516377的博客 1135

JDBC学习笔记

文章目录1.前言2. JDBC编程六步骤2.1示例3.进阶写法4.处理查询结果集5.关于SQL注入5.1代码展示5.2关于Statement和PreparedStatement的区别6.JDBC事务自动提交机制6.1代码演示6.2手动修改事务7.JDBC工具类的封装7.1封装代码7.2使用JDBC实现模糊查询8.悲观锁和乐观锁的概念8.1悲观锁(行级锁)8.2乐观锁8.2乐观锁 1.前言 (1)JDBC概念:Java DataBase Connectivity(Java语言连接数据库) (2)本质:是SUN

少不入川。的博客 2043

idea中jdbc连接数据库

url=“jdbc:所使用的是哪个数据库(mysql或其他)😕/localhost:端口号/数据库名?在项目名下创建一个名为lib的包,将mysql-connector-java-8.0.23.jar放进去。在对准这个jar包,点击右键,add as library(作为库添加)。获取连接:String。

weixin_51646336的博客 3801

在java8.1中利用JDBC8.3版jar包获取数据库连接

JDBC编程六步:1.注册驱动2.获取Connection连接对象3.获取Statement操作对象

m0_72951563的博客 761
上一篇: JDBC 介绍(五)
下一篇: JDBC介绍(七)
ybugchen
博客等级 码龄22年 1粉丝 44原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值