Connectivity

简介: 【7月更文挑战第6天】

JDBC,全称为Java Database Connectivity,是Java语言中用于数据库操作的一套API,它提供了一种标准的方法,允许Java程序连接到数据库,执行SQL语句,以及处理结果。JDBC是一个独立于数据库的接口,这意味着使用JDBC编写的程序可以与多种不同的数据库系统进行交互。

JDBC的主要组件:

  1. Driver: 驱动程序,用于实现JDBC与特定数据库之间的通信。
  2. Connection: 连接对象,代表与数据库的连接。
  3. Statement: 用于执行静态SQL语句并返回它生成的结果的对象。
  4. PreparedStatement: 用于执行带有一个或多个输入参数的预编译SQL语句的对象。
  5. CallableStatement: 用于执行数据库存储过程的对象。
  6. ResultSet: 包含Statement或PreparedStatement执行生成的数据集的对象。

使用JDBC的基本步骤:

  1. 加载和注册JDBC驱动:确保JDBC驱动程序被加载并注册到JVM中。
  2. 建立数据库连接:使用DriverManager.getConnection(url, username, password)方法建立与数据库的连接。
  3. 创建Statement或PreparedStatement:根据需要执行的SQL语句类型创建相应的对象。
  4. 执行SQL语句:使用Statement或PreparedStatement执行SQL查询或更新。
  5. 处理结果:如果是查询,使用ResultSet来处理返回的数据。
  6. 清理环境:关闭ResultSet、Statement、PreparedStatement和Connection,释放资源。

示例代码:

import java.sql.*;

public class JDBCDemo {
   
    public static void main(String[] args) {
   
        try {
   
            // 加载和注册JDBC驱动
            Class.forName("com.mysql.jdbc.Driver");

            // 建立数据库连接
            String url = "jdbc:mysql://localhost:3306/mydb";
            String username = "root";
            String password = "password";
            Connection conn = DriverManager.getConnection(url, username, password);

            // 创建Statement对象
            Statement stmt = conn.createStatement();

            // 执行查询
            String sql = "SELECT * FROM my_table";
            ResultSet rs = stmt.executeQuery(sql);

            // 处理结果集
            while (rs.next()) {
   
                // 通过列名获取数据
                int id = rs.getInt("id");
                String name = rs.getString("name");
                // 打印数据
                System.out.println("ID: " + id + ", Name: " + name);
            }

            // 清理环境
            rs.close();
            stmt.close();
            conn.close();
        } catch (ClassNotFoundException e) {
   
            e.printStackTrace();
        } catch (SQLException e) {
   
            e.printStackTrace();
        }
    }
}
目录
相关文章
|
6月前
|
XML 人工智能 数据可视化
ReasonGraph:别让AI成黑箱!这个开源工具把大模型的脑回路画给你看
ReasonGraph是一款开源的可视化分析工具,能将大语言模型的复杂推理过程转化为直观图表,支持50+主流模型和多种推理方法,帮助开发者快速理解AI思考逻辑并优化模型表现。
276 0
|
6月前
|
SQL 存储 数据库
KingBase服务器优化:详解Kylin参数配置。
通过适当的调整和优化这些关键参数,你的Kylin可以运行得更加流畅和高效。就像一个经过精心调校的赛车,无论是在赛道的直道还是弯道上,都能展现出卓越的性能。希望这次深入参数“操控盘”的旅行,能让你更好地理解和优化你的Kylin配置。记住,优化是一个持续的过程,不断地试验和改进,你的Kylin才能越来越强大。
125 20
|
Linux 数据安全/隐私保护 Windows
解决Windows密码丢失问题:详细指南
最近因为某些工作缘故,接触到windows比较频繁,特此记录一下 当下,计算机安全是每个人都不能忽视的重要问题。然而,有时可能因为忘记密码而无法访问自己的Windows系统,这会导致数据和信息的临时不可用。 本文将详细介绍两种场景下的密码恢复方法:一种是针对虚拟机,另一种适用于物理机。通过这些方法,可以快速恢复对系统的访问,确保业务的连续性。
解决Windows密码丢失问题:详细指南
|
KVM 虚拟化
KVM虚拟机的热迁移
这篇文章详细介绍了KVM虚拟机的热迁移过程,包括临时迁移和永久迁移的步骤,以及可能遇到的故障和解决方案。
473 1
KVM虚拟机的热迁移
|
存储 SQL 关系型数据库
面试题: Mysql索引结构,为什么要用b+树?
字节面试题: Mysql索引结构,为什么要用b+树?
169 0
|
网络协议 Linux 网络安全
NMAP扫描基本操作
NMAP扫描基本操作
608 5
|
运维 监控 Java
Java在运维领域的技术应用与实践
Java在运维领域的技术应用与实践
309 0
|
安全 Java API
Java日期时间的前世今生
Java日期时间的前世今生
419 0
Java日期时间的前世今生
|
移动开发 JavaScript 前端开发
多页面应用、移动端混合开发H5通信解决方案实践
移动端混合开发,APP中90%的内容均为内嵌H5,由于种种原因,我在客户端内无法使用单页面路由跳转,只能新开窗口跳转页面,于是被迫形成了“多页面”的情形。(即使是连贯的页面)
|
JSON Java API
获取天气信息以及地方位置(Unity3D)
前段时间有小伙伴问到如何用Unity制作天气预报,博主也是在网上找了很多资料,发现天气API接口稳定的确实没有,除非是天气官方提供的, 但是我观察了下,要是合作伙伴才有开放的可能。 其他的,例如:百度 APIStore、一些同学在其他网站上抓包下来的接口,以及什么各种收费的 API,都没有稳定的。 找了很多接口API,发现了一个比较好用的免费天气API,就分享一下