목차
ODBC
JDBC
连接方式
常用接口简介
Connection
StateMent
ResultSet
데이터 베이스 MySQL 튜토리얼 数据库访问技术之JDBC

数据库访问技术之JDBC

Jun 07, 2016 pm 03:57 PM
jdbc 배우다 할 수 있다 우리를 기술 데이터 베이스 입장

在了解JDBC之前呢,我们可以先对ODBC做一个回顾,以便于更好的理解JDBC。看名字也知道这两个关系不一般,他们实现了同样的功能,为应用程序连接和操作数据库提供支持。所以,我们先从ODBC开始。 ODBC ODBC(Open Database Connectivity)是开放数据库互连的简称

在了解JDBC之前呢,我们可以先对ODBC做一个回顾,以便于更好的理解JDBC。看名字也知道这两个关系不一般,他们实现了同样的功能,为应用程序连接和操作数据库提供支持。所以,我们先从ODBC开始。

ODBC

ODBC(Open Database Connectivity)是开放数据库互连的简称,是一种使用SQL的应用程序接口。它是一系列的规范和对数据库访问的API。那么API+SQL就可以执行对数据库的操作。它是不依赖于DBMS的,即通过ODBC可以以相同的方式连接大部分数据库。它包括了应用程序接口、驱动器管理器、数据库驱动器、数据源。下面我们通过一副图来了解ODBC各个部分之间的关系:

\

JDBC

之前说过了JDBC和ODBC实际上的功能是一致的,只不过实现不太一样。首先ODBC是基于C++语言的,那么与Java的面向对象思想不太相符,通信比较困难。因此,JDBC就出项了,即JDBC是基于JAVA语言的数据库访问API接口。然后其他内容就和ODBC基本一致了。只要你了解了ODBC,那么在概念上基本就理解了JDBC。那么你需要做的就是对新面孔出项的接口再了解一遍就好了,并且这些接口的功能和ODBC是一致的,只是说在实现上有细微的差别。下面也看看JDBC的结构图:
\

连接方式

由上面的结构图可以看出来,JDBC提供了多种不同的连接方式。这个做个大概的了解吧,因为这主要是数据库厂商关心的事,我们知道就好了,有些也确实不是很明白。
1、JDBC-ODBC连接桥:这种方式是一位ODBC为基础的,上面说了java应用程序和ODBC之间的通信是有点麻烦的。但是ODBC作为一种数据库访问的标准应用是很广的。因此JDBC通过映射ODBC的功能调用就保证了原来使用ODBC的数据库也可以很方便的访问的。
2、本地API驱动:即把JDBC调用转换为对数据库接口的客户端二进制代码库的调用。但是这个接口库依赖于产商,因为这里我们调用的不是数据库厂商提供的JDBC的接口实现。
3、纯Java本地协议:即把JDBC调用映射为DBMS的网络监听协议的功能调用,监听程序监听到请求后执行相关的数据库操作。监听程序是由厂商提供的。

常用接口简介

  DriverManager

关于驱动程序如何注册的,我们不需要知道。我们需要知道的是,如何调用方法去加载得到数据库驱动程序就好了。即Class.forName()方法,调用这个方法需要传递一个包含该驱动程序类名的String对象作为实参。如下:
    Class.forName("oracle.jdbc.driver.OracleDriver")
로그인 후 복사

Connection

加载了驱动程序后,与数据库建立连接需要调用DriverManager.getConnection()方法,此方法需要数据库URL作为参数,不同的数据库URL的有些区别,但都符合“协议名 + Ip地址+端口号+数据库名”的格式。数据库用户名和密码如果有,也得加上,如下:
        String url = "jdbc:oracle:thin:@localhost:1521:pdborcl";
	String username = "123";
	String password = "123";
        Connection conn = DriverManager.getConnection(url, username, password);
로그인 후 복사

StateMent

执行静态的SQL语句,它还可以组合多个SQL语句成为一个批处理,整体提交给数据库。我们通过Connection对象来创建Statement对象,然后用Statement的execute方法来执行SQL。另外PreparedStatement对象是继承自Statement对象的,这里我们用PreparedStatement为例,需要注意的是批处理只能用Statement对象来执行。
      PreparedStatement  pstmt = conn.prepareStatement("select * from t_user where userId=?");
      pstmt.setInt(1, id);
      ResultSet rs = pstmt.executeQuery();
로그인 후 복사

ResultSet

执行一个SQL查询之后的结果集,Result具有指向当前行的指针,可以用来读取结果集中的数据。初始时指针指向第一行前面。该对象的Next()方法可以移动指针。如果Next()之后的行合法返回True,否则False。因此,循环时Next()方法作为判断依据。
到这里JDBC的简单介绍就结束了,JDBC在使用中充当了一个沟通者的角色。这让我想起姚明在NBA打球的那个设计模式:适配器模式,这也就成就了Java应用程序跨平台的特性。同时,JDBC、ODBC等也是面向接口编程思想的典型体现。 对了,这里还缺了一个OLE DB,没有提及。下回吧……
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

iOS 18에는 손실되거나 손상된 사진을 검색할 수 있는 새로운 '복구된' 앨범 기능이 추가되었습니다. iOS 18에는 손실되거나 손상된 사진을 검색할 수 있는 새로운 '복구된' 앨범 기능이 추가되었습니다. Jul 18, 2024 am 05:48 AM

Apple의 최신 iOS18, iPadOS18 및 macOS Sequoia 시스템 릴리스에는 사진 애플리케이션에 중요한 기능이 추가되었습니다. 이 기능은 사용자가 다양한 이유로 손실되거나 손상된 사진과 비디오를 쉽게 복구할 수 있도록 설계되었습니다. 새로운 기능에는 사진 앱의 도구 섹션에 '복구됨'이라는 앨범이 도입되었습니다. 이 앨범은 사용자가 기기에 사진 라이브러리에 포함되지 않은 사진이나 비디오를 가지고 있을 때 자동으로 나타납니다. "복구된" 앨범의 출현은 데이터베이스 손상으로 인해 손실된 사진과 비디오, 사진 라이브러리에 올바르게 저장되지 않은 카메라 응용 프로그램 또는 사진 라이브러리를 관리하는 타사 응용 프로그램에 대한 솔루션을 제공합니다. 사용자는 몇 가지 간단한 단계만 거치면 됩니다.

PHP에서 MySQLi를 사용하여 데이터베이스 연결을 설정하는 방법에 대한 자세한 튜토리얼 PHP에서 MySQLi를 사용하여 데이터베이스 연결을 설정하는 방법에 대한 자세한 튜토리얼 Jun 04, 2024 pm 01:42 PM

MySQLi를 사용하여 PHP에서 데이터베이스 연결을 설정하는 방법: MySQLi 확장 포함(require_once) 연결 함수 생성(functionconnect_to_db) 연결 함수 호출($conn=connect_to_db()) 쿼리 실행($result=$conn->query()) 닫기 연결( $conn->close())

단순한 3D 가우스 그 이상입니다! 최첨단 3D 재구성 기술의 최신 개요 단순한 3D 가우스 그 이상입니다! 최첨단 3D 재구성 기술의 최신 개요 Jun 02, 2024 pm 06:57 PM

위에 작성됨 & 저자의 개인적인 이해는 이미지 기반 3D 재구성은 입력 이미지 세트에서 객체나 장면의 3D 모양을 추론하는 어려운 작업이라는 것입니다. 학습 기반 방법은 3차원 형상을 직접 추정할 수 있는 능력으로 주목을 받았습니다. 이 리뷰 논문은 새로운, 보이지 않는 뷰 생성을 포함한 최첨단 3D 재구성 기술에 중점을 두고 있습니다. 입력 유형, 모델 구조, 출력 표현 및 훈련 전략을 포함하여 가우스 스플래시 방법의 최근 개발에 대한 개요가 제공됩니다. 해결되지 않은 과제와 앞으로의 방향에 대해서도 논의한다. 해당 분야의 급속한 발전과 3D 재구성 방법을 향상할 수 있는 수많은 기회를 고려할 때 알고리즘을 철저히 조사하는 것이 중요해 보입니다. 따라서 이 연구는 가우스 산란의 최근 발전에 대한 포괄적인 개요를 제공합니다. (엄지손가락을 위로 스와이프하세요.

PHP에서 데이터베이스 연결 오류를 처리하는 방법 PHP에서 데이터베이스 연결 오류를 처리하는 방법 Jun 05, 2024 pm 02:16 PM

PHP에서 데이터베이스 연결 오류를 처리하려면 다음 단계를 사용할 수 있습니다. mysqli_connect_errno()를 사용하여 오류 코드를 얻습니다. 오류 메시지를 얻으려면 mysqli_connect_error()를 사용하십시오. 이러한 오류 메시지를 캡처하고 기록하면 데이터베이스 연결 문제를 쉽게 식별하고 해결할 수 있어 애플리케이션이 원활하게 실행될 수 있습니다.

혁신적인 GPT-4o: 인간-컴퓨터 상호 작용 경험 재편 혁신적인 GPT-4o: 인간-컴퓨터 상호 작용 경험 재편 Jun 07, 2024 pm 09:02 PM

OpenAI가 출시한 GPT-4o 모델은 특히 여러 입력 미디어(텍스트, 오디오, 이미지)를 처리하고 해당 출력을 생성하는 기능에서 의심할 여지 없이 큰 혁신입니다. 이 기능은 인간과 컴퓨터의 상호 작용을 더욱 자연스럽고 직관적으로 만들어 AI의 실용성과 유용성을 크게 향상시킵니다. GPT-4o의 주요 특징으로는 높은 확장성, 멀티미디어 입력 및 출력, 자연어 이해 기능의 추가 개선 등이 있습니다. 1. 교차 미디어 입력/출력: GPT-4o+는 텍스트, 오디오 및 이미지의 모든 조합을 입력으로 받아들이고 이러한 미디어에서 직접 출력을 생성할 수 있습니다. 이는 단일 입력 유형만 처리하는 기존 AI 모델의 한계를 깨뜨려 인간과 컴퓨터의 상호 작용을 더욱 유연하고 다양하게 만듭니다. 이 혁신은 스마트 어시스턴트를 강화하는 데 도움이 됩니다.

Golang에서 데이터베이스 콜백 함수를 사용하는 방법은 무엇입니까? Golang에서 데이터베이스 콜백 함수를 사용하는 방법은 무엇입니까? Jun 03, 2024 pm 02:20 PM

Golang의 데이터베이스 콜백 기능을 사용하면 다음을 달성할 수 있습니다. 지정된 데이터베이스 작업이 완료된 후 사용자 정의 코드를 실행합니다. 추가 코드를 작성하지 않고도 별도의 함수를 통해 사용자 정의 동작을 추가할 수 있습니다. 삽입, 업데이트, 삭제, 쿼리 작업에 콜백 함수를 사용할 수 있습니다. 콜백 함수를 사용하려면 sql.Exec, sql.QueryRow, sql.Query 함수를 사용해야 합니다.

JSON 데이터를 Golang의 데이터베이스에 저장하는 방법은 무엇입니까? JSON 데이터를 Golang의 데이터베이스에 저장하는 방법은 무엇입니까? Jun 06, 2024 am 11:24 AM

JSON 데이터는 gjson 라이브러리 또는 json.Unmarshal 함수를 사용하여 MySQL 데이터베이스에 저장할 수 있습니다. gjson 라이브러리는 JSON 필드를 구문 분석하는 편리한 방법을 제공하며, json.Unmarshal 함수에는 JSON 데이터를 비정렬화하기 위한 대상 유형 포인터가 필요합니다. 두 방법 모두 SQL 문을 준비하고 삽입 작업을 수행하여 데이터를 데이터베이스에 유지해야 합니다.

Golang을 사용하여 원격 데이터베이스에 연결하는 방법은 무엇입니까? Golang을 사용하여 원격 데이터베이스에 연결하는 방법은 무엇입니까? Jun 01, 2024 pm 08:31 PM

Go 표준 라이브러리 데이터베이스/sql 패키지를 통해 MySQL, PostgreSQL 또는 SQLite와 같은 원격 데이터베이스에 연결할 수 있습니다. 데이터베이스 연결 정보가 포함된 연결 문자열을 생성합니다. sql.Open() 함수를 사용하여 데이터베이스 연결을 엽니다. SQL 쿼리 및 삽입 작업과 같은 데이터베이스 작업을 수행합니다. 리소스를 해제하기 위해 defer를 사용하여 데이터베이스 연결을 닫습니다.

See all articles