JDBC关键部分简单梳理

JDBC(Java Database Connectivity)定义了客户端如何访问数据库的API,JDBC可以允许一个应用程序中有多个实现。JDBC定义了驱动(Driver)的接口,可以将驱动动态加载并交给DriverManger管理,且DriverManger可以当做Connection的工厂(提供了getConnection方法)。
JDBC有几个关键组件:

  1. Driver 驱动接口,每个驱动类都要实现(即平时配置的driverClass)
  2. DriverManger 管理Driver,并调用Driver的connection方法来构建一个数据库连接
  3. Connection 一个数据库连接
  4. Statement 执行静态SQL语句并返回其生成的结果的对象。
    1. PreparedStatement 表示一个预编译的Statement,可以通过重用提升效率
    2. CallableStatement 执行存储过程的Statement
      简化的图例如下所示:

jdbc-api.drawio.png

然后可以看一下类图的关系

image.png

接下来通过一个简单的demo看一下,如何通过这些原生API来和数据库交互,代码如下:

import java.sql.Connection;  
import java.sql.DriverManager;  
import java.sql.ResultSet;  
import java.sql.Statement;  
  
public class JdbcDemo {  
  
    public static void main(String[] args) {  
        try {  
            String driverClass = "com.mysql.cj.jdbc.Driver";  
            Class.forName(driverClass);  
  
            String url = "jdbc:mysql://localhost:3306/order?useSSL=false";  
            String user = "root";  
            String password = "000000";  
  
            Connection conn = DriverManager.getConnection(url, user, password);  
            Statement stmt = conn.createStatement();  
  
            String sql = "SELECT NAME FROM T_ARG_PRODUCT WHERE ID = '809195658207559680'";  
            ResultSet resultSet = stmt.executeQuery(sql);  
  
            while (resultSet.next()) {  
                System.out.println(resultSet.getString(1));  
            }  
  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
    }  
}

打印结果:

红米K40Pro

可以看到通过jdbc的接口我们可以和数据库交互,进行CRUD,达到预期目的,但是通过jdbc操作数据库较为麻烦,所以诞生了诸如Mybatis、Hibernate等一系列框架。

参考:
Java Database Connectivity - Wikipedia

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值