开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第2天,点击查看活动详情
什么是JDBC: 在web开发中,不可避免的地要使用数据库来存储和管理数据。为了在java语言中提供数据库访问的支持,Sun公司于1996年提供了一套访问数据的标准Java类库,即JDBC。 JDBC的全称是Java数据库连接(Java Database connect),它是一套用于执行SQL语句的Java API。应用程序可通过这套API连接到关系数据库,并使用SQL语句来完成对数据库中数据的查询、更新和删除等操作。
JDBC的实现包括三部分: (1)JDBC驱动管理器:负责注册特定的JDBC驱动器,主要通过java.sql. Driver Manager类实现。 (2)JDBC驱动器API:由Sun公司负责制定,其中最主要的接口是java.sql. Driver接口。 (3)JDBC驱动器:它是一种数据库驱动,由数据库厂商创建,也称为JDBC驱动程序JDBC驱动器实现了JDBC驱动器API,负责与特定的数据库连接,以及处理通信细节。
BLOB 数据类型以随机存取块(称为智能大对象空间)的形式存储任何种类的二进制数据。二进制数据通常由已保存的电子表格、程序装入模块和数字化声音模式等等组成。数据库服务器不会对 BLOB 列的内容进行解释。
BLOB 列最长可为 4 太字节(4*240 个字节),不过系统资源可能会强加较低的实际限值。分配给智能大对象数据类型的最小磁盘空间量为 512 字节。
术语智能大对象指的是 BLOB 和 CLOB 数据类型。将 CLOB 数据类型(请参阅 CLOB 数据类型页)用于随机访问文本数据。有关 BLOB 和 CLOB 数据类型的一般信息,请参阅智能大对象。
使用的JDBCUtils类在前面的博客中。
package demo04;
import java.io.File;
import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import org.junit.jupiter.api.Test;
import utils.JDBCUtils;
public class BlobTest {
@Test
public void test(){
Connection conn = null;
PreparedStatement ps = null;
try {
conn = JDBCUtils.getConnection();
String sql = "insert into beauty(name,sex,phone,photo)values(?,?,?,?)";
ps = conn.prepareStatement(sql);
ps.setObject(1, "刘亦菲");
ps.setObject(2, "女");
ps.setObject(3, "18209179577");
FileInputStream fis = new FileInputStream(new File("liu.png"));
ps.setBlob(4, fis);
ps.execute();
}catch (Exception e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}finally {
JDBCUtils.closeResourse(conn, ps);
}
}
}