2010-08-01 4 views
3

저는 Java에서 JDBC 추상화를 정말 좋아합니다. 내가 연결할 데이터베이스 유형이나 어떤 드라이버가 사용되는지 상관하지 않습니다. DataSource 객체에 모두 설정되어 있습니다. 일단 완료되면 연결 만 사용합니다. 트랜잭션을 커밋/롤백하고 트랜잭션을 수행하기 위해 일관된 API를 제공하므로 한 번만 배우고 자신의 인생을 따라야합니다. MySQL/Oracle - 걱정하지 마라. (SQL의 차이점 제외)Java 개발자 학습 엔터프라이즈 C++. JDBC 추상화와 동등한가요?

네 가지 질문 : 1. C++/c에서 가장 많이 사용되는 기능은 무엇입니까? 2. 가장 좋은 점은 무엇입니까? 3. 연결을 위해 Java API를 반영하는 API가 있습니까? 뭔가 비슷한가? 4. 자바에서 자주 사용되는 Dao/DaoImpl 패턴을 정말 좋아합니다. 사람들은 C++에서 이와 동일한 패턴을 수행합니까?

고마워요!

답변

1

ODBC 그 질문 1에 대한 답변을합니다 (JDBC API는 ODBC를 모델로했다.)

1

크로스 플랫폼 데이터베이스 연결을위한 표준은 ODBC입니다. 그러나 이것은 매우 익숙한 C API를 사용합니다 (그러나 일단 익숙해지면 잘 작동합니다). 거기에 대한 C + + 래퍼 라이브러리가 많이 있지만, 나는 항상 내 자신의 래퍼를 사용했듯이 그들 중 하나를 추천하지 않을 수 있습니다. 이 주제에 대해 많은 질문을 보려면 https://stackoverflow.com/search에서 SO google 검색을 사용하여 "C++ database library"를 검색하십시오.

0

C++에는 동일한 기능이 없습니다. ODBC는 가장 가까운 것입니다.

그러나 ODBC는 데이터베이스 인터페이스 (콜 레벨 인터페이스) 이상으로 기본 연결 프로토콜도 정의하므로 ODBC를 사용하려면 데이터베이스 서버 측에서 미들웨어 또는 드라이버가 필요합니다.

반면에 JDBC는 단순히 표준 프로그래밍 인터페이스이며 드라이버없이 원시 프로토콜을 사용하여 데이터베이스와 통신 할 수 있습니다. 일부 JDBC 구현은 ODBC (JDBC-ODBC 브릿지 드라이버라고 함)를 통해 데이터베이스와 통신합니다.