一篇文章带你学习JDBC(Java Database Connectivity)

什么是JDBC?

JDBC(Java Database Connectivity,Java数据库连接)是一个Java API,它提供了一种标准方法,允许Java程序连接到数据库并执行SQL语句。它是一个独立于数据库的API,这意味着开发者可以使用相同的代码连接到不同类型的数据库系统。

JDBC的用途

  • 1.提供统一的数据库访问方式:JDBC定义了一套标准的API,使得Java程序可以以一种统一的方式访问不同的数据库系统,降低了学习和开发的难度。
  • 2.简化数据库操作:JDBC API提供了丰富的方法来执行SQL语句和管理数据库连接,极大地简化了数据库编程的复杂性。
  • 3.支持事务处理和批处理:JDBC支持事务控制和批处理操作,提高了数据处理的效率和可靠性。
  • 4.增强代码的可移植性:由于JDBC是基于Java语言的,所以使用JDBC编写的数据库访问代码具有很好的跨平台性和可移植性。

JDBC API包括以下几个主要组件:

  • JDBC Driver:一个允许Java应用程序与数据库进行通信的驱动程序。不同的数据库需要不同的JDBC驱动程序。

  • Connection:表示与特定数据库的连接。通过这个连接,应用程序可以发送SQL语句并接收结果。

  • Statement:用于创建SQL语句和执行它们的对象。

  • PreparedStatement:是Statement的一个子类,允许预编译SQL语句,这可以提高性能,并且可以防止SQL注入攻击。

  • CallableStatement:用于执行存储过程。

  • ResultSet:包含执行查询后返回的数据。

  • DatabaseMetaData:提供了关于数据库的信息,比如表名、列名等。

使用步骤:

1.导入JDBC类库:在程序中包含数据库编程所需的JDBC类。
2.注册JDBC驱动:初始化驱动程序,以便可以打开与数据库的通信通道。
3.打开连接:使用DriverManager.getConnection()方法创建一个Connection对象,它表示与数据库的物理连接。
4.执行查询:使用类型为Statement或PreparedStatement的对象来构建和提交SQL语句到数据库。
5.处理结果集:使用ResultSet对象来获取查询结果。
6.关闭资源:明确地关闭所有数据库资源,以减少资源浪费。
注意:在使用JDBC之前,需要确保在Mysql数据库中创建自己所需要的数据库对象。

代码示例

package JDBC;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class JdbcExample {
    public static void main(String[] args) {
        // 数据库连接信息
        String url = "jdbc:mysql://localhost/userdatabase";
        //"jdbc:mysql://localhost:这是数据库服务器的主机名。/userdatabase这是要连接的数据库名称。
        String user = "root";
        String password = "123456";
        //user和password,它们用于存储连接到数据库所需的用户名和密码。

        Connection connection = null;
        Statement statement = null;
        ResultSet resultSet = null;

        try {
            // 加载并注册JDBC驱动
            Class.forName("com.mysql.cj.jdbc.Driver");

            // 建立数据库连接
            connection = DriverManager.getConnection(url, user, password);

            // 创建Statement对象
            statement = connection.createStatement();

            // 执行SQL查询
            String sql = "SELECT * FROM UserData";
            resultSet = statement.executeQuery(sql);

            // 处理结果集
            while (resultSet.next()) {
                String name = resultSet.getString("name");
                String pwd = resultSet.getString("pwd");
                System.out.println("Name: " + name + ", Password: " + pwd);
            }
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            // 关闭资源
            try {
                if (resultSet != null) resultSet.close();
                if (statement != null) statement.close();
                if (connection != null) connection.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}
  • 输出结果(这里我是已经将查询的信息存入数据库中)
  • 在这里插入图片描述
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值