JDBC连接与基本CRUD操作

本文详细介绍了JDBC的概念,包括JDBC的体系结构、核心组件如DriverManager、Connection、Statement和ResultSet,以及JDBC应用程序的基本步骤。此外,还讨论了DAO设计模式在数据库访问中的应用,以降低耦合并提高代码复用性。
摘要由CSDN通过智能技术生成

JDBC简介

JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。

JDBC可以在各种平台上使用Java,如Windows,Mac OS和各种版本的UNIX。

JDBC体系结构

JDBC API支持用于数据库访问的两层和三层处理模型,但通常,JDBC体系结构由两层组成:

  • JDBC: 提供了应用程序到数据库连接规范。
  • JDBC驱动程序: 连接数据库的驱动程序的实现。

JDBC API使用驱动程序管理器和特定于数据库的驱动程序来提供与异构数据库的透明连接。
在这里插入图片描述

JDBC核心组件

DriverManager: 此类管理数据库驱动程序列表。使用通信协议将来自java应用程序的连接请求与适当的数据库驱动程序匹配。

Driver:此接口处理与数据库服务器的通信,我们很少会直接与Driver对象进行交互。而是使用DriverManager对象来管理这种类型的对象。

Connection: 该接口具有用于连接数据库的所有方法。连接对象表示通信上下文,数据库的所有通信仅通过连接对象。

Statement:使用从此接口创建的对象将SQL语句提交到数据库。除了执行存储过程之外,一些派生接口还接受参数。

ResultSet: 在使用Statement对象执行SQL查询后,这些对象保存从数据库检索的数据。它作为一个迭代器,允许我们移动其数据。

SQLException: 此类处理数据库应用程序中发生的任何异常。

JDBC使用步骤

构建JDBC应用程序涉及以下六个步骤:

  • 导入JDBC驱动包: 需要下载包含数据库编程所需的JDBC的jar包。
  • 注册JDBC驱动程序: 要求您初始化驱动程序,以便您可以打开与数据库的通信通道。
  • 创建连接: 需要使用DriverManager.getConnection()方法创建一个Connection对象,该对象表示与数据库的物理连接。
  • 执行查询: 需要使用类型为Statement的对象来构建和提交SQL语句到数据库。
  • 从结果集中提取数据: 需要使用相应的ResultSet.getXXX()方法从结果集中检索数据。
  • 释放资源: 需要明确地关闭所有数据库资源,而不依赖于JVM的垃圾收集。

代码示例1:

package jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class JdbcDemo1 {
   
    public static void main(String[] args) {
   
        //1、加载驱动
        try {
   
            Class.forName("com.mysql.jdbc.Driver");
        } catch (ClassNotFoundException e) {
   
            e.printStackTrace();
        }
        //2、创建连接
        //String url = "jdbc:mysql://localhost:3306/db_test";//不安全警告,需要将ssl禁用显示出来useSSL=false
        String url = "jdbc:mysql://localhost:3306/db_test?useSSL=false&characterEncoding=utf8";
        try {
   
            //url、数据库用户名和密码,有返回值表示连接成功
            Connection conn = DriverManager.getConnection(url, "root", "123456");
            if(conn!=null){
   
                System.out.println("连接成功!");
            }
            //3、关闭连接
            conn.close();
        } catch (SQLException throwables) {
   
            throwables.printStackTrace();
        }
    }
}

代码示例2:

package jdbc;

import java.sql.*;
import java.util.Scanner;

public class JdbcDemo2 {
   
    public static void main(String[] args) {
   
        Scanner input = new Scanner(System.in);
        System.out.println("请输入账号");
        String username = input.nextLine();
        System.out.println("请输入密码");
        String password = input.nextLine();
        //1、注册驱动
        try {
   
            Class.forName("com.mysql.jdbc.Driver");
        } catch (ClassNotFoundException e) {
   
            e.printStackTrace(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值