数据库访问技术之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,没有提及。下回吧……

핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

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

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

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

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

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

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

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

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

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