JDBC基础

本文深入解析了Java操作数据库的核心工具——JDBC,从原理、使用方法到资源管理,全面覆盖JDBC的基本知识。重点介绍了如何通过JDBC注册驱动、获取连接、执行SQL语句、处理大文本和二进制数据存储等关键步骤,并强调了资源释放的重要性。

JDBC是我们使用JAVA程序操作数据库的工具.

Java Data BaseConnectivity java数据库连接

是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成

我们想用Java程序操作数据库, 就需要使用数据库的驱动.

由于每种数据库存储数据的方式不同, 他们所提供的数据库驱动也就不同.

如果我们学习所有数据库的驱动, 那么学习成本是很高的.

JDBC就是一套数据库驱动的规范, 由多个接口组成.

JDBC由java.sql和javax.sql两个包组成, 在jdk5.0之后包含在JavaSE中, 不需要导入.

除了这两个包之外, 我们还需要导入数据库对应的驱动.

注册驱动:

DriverManager.registerDriver(newcom.mysql.jdbc.Driver());

可以加载MySQL的驱动, 但我们不推荐这么做.

参考com.mysql.jdbc.Driver的源代码我们可以看到, 这个类的静态代码块中已经将自己注册到DriverManager了.如果我们在程序中再次注册, 相当于注册了两次.

获取连接地址:

DriverManager通过已注册的驱动获取Connection, 这个Connection是java.sql.Connection的实现类. 具体返回的是哪个类, 由驱动决定. 也就是说, 我们注册的是MySQL的驱动, 返回的就是MySQL的Connection. 查看源码.

释放资源:

在程序运行结束以后, 和数据库相关的资源不会被自动释放掉, 我们需要手动释放ResultSet, Statement, Connection尤其Connection是非常宝贵的资源, 使用结束之后应该尽早释放.

为了确保释放资源的代码一定会执行到, 我们通常将它们放在finally中

大文本和二进制:

存储文件:PreparedStatement ps = conn.prepareStatement("insert into clob(file) values(?)");

File file = new File("src/cn/itcast/jdbc1/clob_blob/ClobDemo.java");

Reader reader = new FileReader(file);

ps.setCharacterStream(1, reader,(int) file.length());

ps.executeUpdate()也可以使用ps.setString()直接设置, 但如果字符串太大, 有可能超出虚拟机内存

读取文本:PreparedStatement ps = conn.prepareStatement("select file from clob");

ResultSet rs =ps.executeQuery();

if (rs.next()) {

Reader reader = rs.getCharacterStream(intcolumnIndex);

// 这个Reader就是从数据库中读取数据的流, 操作这个流来读取数据

}

BLOB用来存储大段的二进制数据, 例如图片, 音频, 视频. LONGBLOB最大4G


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值