JDBC

what

全称Java Database Connectivity,JDBC是一种用于Java编程语言和多种数据库连接的标准Java API

JDBC库提供的API可以完成如下的数据库相关的任务:

  • 和数据库建立连接。
  • 创建 SQL 或 MySQL 声明。
  • 在数据库中执行 SQL 或 MySQL 查询。
  • 展示或修改数据库中的记录。

JDBC实现了将Java编程代码和数据库相分离,使得Java编写的可执行程序可以通过同样的JDBC API连接不同的数据库,改变数据库驱动不需要改变JDBC API,使得代码书写更加灵活。

组件

JDBC API 提供了以下接口和类以便使用:

  • DriverManager:该类被用于管理数据库驱动。当Java应用发送一个数据库连接请求时,会伴随一个对应数据库的驱动连接子协议。这个协议会通过DriverManager发送到各个Driver,而第一个识别该协议的Dirver会在对应的数据库和JDBC接口间建立连接。
  • Driver:驱动接口负责处理与数据库服务器之间的通信。Java编程人员很少会直接使用到这个接口,这是用于DriverManager类在管理着Driver接口。
  • Connection:这个接口包含了所有连接数据库相关的方法。一个connection对象会包含了和数据库通信的上下文等信息。所有与数据库相关的通信都且仅需要通过connection对象。
  • Statement:该接口负责将Java代码中嵌入的SQL语句提交到数据库,另外还有一些派生出的接口可以完成参数的传递和存储过程的执行。
  • ResultSet:通过Statement对象执行的查询语句的查询结果将被通过ResultSet对象从数据库取回。ResultSet对象可以像迭代器一样去操作数据。
  • SQLException:这个类用来处理数据库应用中出现的各种错误。

案例

import java.sql.*;

public class JDBCDemo {
    static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
    static final String JDBC_URL = "jdbc:mysql://localhost:3306/test";
    static final String USER = "userName";
    static final String PASSWORD = "pwd";

    public static void main(String[] args) throws SQLException {
        Connection connection = null;
        Statement statement = null;
        try{
            //step 1:Register JDBC driver
            Class.forName(JDBC_DRIVER);
            //step 2:Open a connection
            connection = DriverManager.getConnection(JDBC_URL, USER, PASSWORD);
            //step 3: Execute a query
            statement = connection.createStatement();
            String sql = "SELECT id, user_name FROM user";
            ResultSet rs = statement.executeQuery(sql);
            //step 4: Extract data from result set
            while (rs.next()){
                int id = rs.getInt("id");
                String name = rs.getString("user_name");
                System.out.println("id:"+ id +"name:"+name);
            }
            rs.close();

        }catch (Exception e){
            e.printStackTrace();

        }finally {
            statement.close();
            connection.close();
        }
    }
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值