CINXE.COM

Java Database Connectivity - Wikipedia

<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-sticky-header-enabled vector-toc-available" lang="en" dir="ltr"> <head> <meta charset="UTF-8"> <title>Java Database Connectivity - Wikipedia</title> <script>(function(){var className="client-js vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-sticky-header-enabled vector-toc-available";var cookie=document.cookie.match(/(?:^|; )enwikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"dc0651c4-34c8-4840-ac99-cc2ba53a3714","wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"Java_Database_Connectivity","wgTitle":"Java Database Connectivity","wgCurRevisionId":1277926124,"wgRevisionId":1277926124,"wgArticleId":26257672,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Articles with short description","Short description matches Wikidata","Articles with example Java code","Commons category link is on Wikidata","JDK components","Java specification requests","SQL data access","Database APIs"],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"Java_Database_Connectivity","wgRelevantArticleId":26257672,"wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgNoticeProject":"wikipedia","wgCiteReferencePreviewsActive":false,"wgFlaggedRevsParams":{"tags":{"status":{"levels":1}}},"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgPopupsFlags":0,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":false,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":20000,"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":false,"wgVector2022LanguageInHeader":true,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q722772","wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"],"GEHomepageSuggestedEditsEnableTopics":true,"wgGETopicsMatchModeEnabled":false,"wgGEStructuredTaskRejectionReasonTextInputEnabled":false,"wgGELevelingUpEnabledForUser":false}; RLSTATE={"ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.cite.styles":"ready","ext.pygments":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.interlanguage":"ready","wikibase.client.init":"ready"};RLPAGEMODULES=["ext.cite.ux-enhancements","ext.pygments.view","ext.scribunto.logs","site","mediawiki.page.ready","mediawiki.toc","skins.vector.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.gadget.ReferenceTooltips","ext.gadget.switcher","ext.urlShortener.toolbar","ext.centralauth.centralautologin","mmv.bootstrap","ext.popups","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.interface","ext.cx.eventlogging.campaigns","ext.cx.uls.quick.actions","wikibase.client.vector-2022","ext.checkUser.clientHints","ext.growthExperiments.SuggestedEditSession"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=en&amp;modules=ext.cite.styles%7Cext.pygments%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediamessages.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles%7Cwikibase.client.init&amp;only=styles&amp;skin=vector-2022"> <script async="" src="/w/load.php?lang=en&amp;modules=startup&amp;only=scripts&amp;raw=1&amp;skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=en&amp;modules=site.styles&amp;only=styles&amp;skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.20"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="Java Database Connectivity - Wikipedia"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//en.m.wikipedia.org/wiki/Java_Database_Connectivity"> <link rel="alternate" type="application/x-wiki" title="Edit this page" href="/w/index.php?title=Java_Database_Connectivity&amp;action=edit"> <link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"> <link rel="icon" href="/static/favicon/wikipedia.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Wikipedia (en)"> <link rel="EditURI" type="application/rsd+xml" href="//en.wikipedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://en.wikipedia.org/wiki/Java_Database_Connectivity"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en"> <link rel="alternate" type="application/atom+xml" title="Wikipedia Atom feed" href="/w/index.php?title=Special:RecentChanges&amp;feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="login.wikimedia.org"> </head> <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject mw-editable page-Java_Database_Connectivity rootpage-Java_Database_Connectivity skin-vector-2022 action-view"><a class="mw-jump-link" href="#bodyContent">Jump to content</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right" title="Main menu" > <input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-main-menu-dropdown" class="vector-dropdown-checkbox " aria-label="Main menu" > <label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span> <span class="vector-dropdown-label-text">Main menu</span> </label> <div class="vector-dropdown-content"> <div id="vector-main-menu-unpinned-container" class="vector-unpinned-container"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-container-id="vector-main-menu-unpinned-container" > <div class="vector-pinnable-header-label">Main menu</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">hide</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> Navigation </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/Main_Page" title="Visit the main page [z]" accesskey="z"><span>Main page</span></a></li><li id="n-contents" class="mw-list-item"><a href="/wiki/Wikipedia:Contents" title="Guides to browsing Wikipedia"><span>Contents</span></a></li><li id="n-currentevents" class="mw-list-item"><a href="/wiki/Portal:Current_events" title="Articles related to current events"><span>Current events</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Special:Random" title="Visit a randomly selected article [x]" accesskey="x"><span>Random article</span></a></li><li id="n-aboutsite" class="mw-list-item"><a href="/wiki/Wikipedia:About" title="Learn about Wikipedia and how it works"><span>About Wikipedia</span></a></li><li id="n-contactpage" class="mw-list-item"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us" title="How to contact Wikipedia"><span>Contact us</span></a></li> </ul> </div> </div> <div id="p-interaction" class="vector-menu mw-portlet mw-portlet-interaction" > <div class="vector-menu-heading"> Contribute </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-help" class="mw-list-item"><a href="/wiki/Help:Contents" title="Guidance on how to use and edit Wikipedia"><span>Help</span></a></li><li id="n-introduction" class="mw-list-item"><a href="/wiki/Help:Introduction" title="Learn how to edit Wikipedia"><span>Learn to edit</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Wikipedia:Community_portal" title="The hub for editors"><span>Community portal</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Special:RecentChanges" title="A list of recent changes to Wikipedia [r]" accesskey="r"><span>Recent changes</span></a></li><li id="n-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_upload_wizard" title="Add images or other media for use on Wikipedia"><span>Upload file</span></a></li><li id="n-specialpages" class="mw-list-item"><a href="/wiki/Special:SpecialPages"><span>Special pages</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/Main_Page" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/wikipedia.png" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="Wikipedia" src="/static/images/mobile/copyright/wikipedia-wordmark-en.svg" style="width: 7.5em; height: 1.125em;"> <img class="mw-logo-tagline" alt="The Free Encyclopedia" src="/static/images/mobile/copyright/wikipedia-tagline-en.svg" width="117" height="13" style="width: 7.3125em; height: 0.8125em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/Special:Search" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Search Wikipedia [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </a> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-typeahead-search--auto-expand-width"> <form action="/w/index.php" id="searchform" class="cdx-search-input cdx-search-input--has-end-button"> <div id="simpleSearch" class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search Wikipedia" aria-label="Search Wikipedia" autocapitalize="sentences" title="Search Wikipedia [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Personal tools"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Change the appearance of the page&#039;s font size, width, and color" > <input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="Appearance" > <label id="vector-appearance-dropdown-label" for="vector-appearance-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-appearance mw-ui-icon-wikimedia-appearance"></span> <span class="vector-dropdown-label-text">Appearance</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="https://donate.wikimedia.org/?wmf_source=donate&amp;wmf_medium=sidebar&amp;wmf_campaign=en.wikipedia.org&amp;uselang=en" class=""><span>Donate</span></a> </li> <li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:CreateAccount&amp;returnto=Java+Database+Connectivity" title="You are encouraged to create an account and log in; however, it is not mandatory" class=""><span>Create account</span></a> </li> <li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:UserLogin&amp;returnto=Java+Database+Connectivity" title="You&#039;re encouraged to log in; however, it&#039;s not mandatory. [o]" accesskey="o" class=""><span>Log in</span></a> </li> </ul> </div> </div> </div> <div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-flush-right vector-user-menu-logged-out" title="Log in and more options" > <input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-dropdown-checkbox " aria-label="Personal tools" > <label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span> <span class="vector-dropdown-label-text">Personal tools</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="User menu" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport" class="user-links-collapsible-item mw-list-item"><a href="https://donate.wikimedia.org/?wmf_source=donate&amp;wmf_medium=sidebar&amp;wmf_campaign=en.wikipedia.org&amp;uselang=en"><span>Donate</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:CreateAccount&amp;returnto=Java+Database+Connectivity" title="You are encouraged to create an account and log in; however, it is not mandatory"><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Create account</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:UserLogin&amp;returnto=Java+Database+Connectivity" title="You&#039;re encouraged to log in; however, it&#039;s not mandatory. [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Log in</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor" > <div class="vector-menu-heading"> Pages for logged out editors <a href="/wiki/Help:Introduction" aria-label="Learn more about editing"><span>learn more</span></a> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Special:MyContributions" title="A list of edits made from this IP address [y]" accesskey="y"><span>Contributions</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Special:MyTalk" title="Discussion about edits from this IP address [n]" accesskey="n"><span>Talk</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"><!-- CentralNotice --></div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> <div class="vector-sticky-pinned-container"> <nav id="mw-panel-toc" aria-label="Contents" data-event-name="ui.sidebar-toc" class="mw-table-of-contents-container vector-toc-landmark"> <div id="vector-toc-pinned-container" class="vector-pinned-container"> <div id="vector-toc" class="vector-toc vector-pinnable-element"> <div class="vector-pinnable-header vector-toc-pinnable-header vector-pinnable-header-pinned" data-feature-name="toc-pinned" data-pinnable-element-id="vector-toc" > <h2 class="vector-pinnable-header-label">Contents</h2> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">hide</button> </div> <ul class="vector-toc-contents" id="mw-panel-toc-list"> <li id="toc-mw-content-text" class="vector-toc-list-item vector-toc-level-1"> <a href="#" class="vector-toc-link"> <div class="vector-toc-text">(Top)</div> </a> </li> <li id="toc-History_and_implementation" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#History_and_implementation"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>History and implementation</span> </div> </a> <ul id="toc-History_and_implementation-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Functionality" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Functionality"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>Functionality</span> </div> </a> <ul id="toc-Functionality-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Examples" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Examples"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>Examples</span> </div> </a> <ul id="toc-Examples-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-JDBC_drivers" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#JDBC_drivers"> <div class="vector-toc-text"> <span class="vector-toc-numb">4</span> <span>JDBC drivers</span> </div> </a> <button aria-controls="toc-JDBC_drivers-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle JDBC drivers subsection</span> </button> <ul id="toc-JDBC_drivers-sublist" class="vector-toc-list"> <li id="toc-Types" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Types"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.1</span> <span>Types</span> </div> </a> <ul id="toc-Types-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Sources" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Sources"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.2</span> <span>Sources</span> </div> </a> <ul id="toc-Sources-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-See_also" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#See_also"> <div class="vector-toc-text"> <span class="vector-toc-numb">5</span> <span>See also</span> </div> </a> <ul id="toc-See_also-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Citations" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Citations"> <div class="vector-toc-text"> <span class="vector-toc-numb">6</span> <span>Citations</span> </div> </a> <ul id="toc-Citations-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-References" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#References"> <div class="vector-toc-text"> <span class="vector-toc-numb">7</span> <span>References</span> </div> </a> <ul id="toc-References-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-External_links" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#External_links"> <div class="vector-toc-text"> <span class="vector-toc-numb">8</span> <span>External links</span> </div> </a> <ul id="toc-External_links-sublist" class="vector-toc-list"> </ul> </li> </ul> </div> </div> </nav> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-page-titlebar-toc" class="vector-dropdown vector-page-titlebar-toc vector-button-flush-left" title="Table of Contents" > <input type="checkbox" id="vector-page-titlebar-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-titlebar-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-page-titlebar-toc-label" for="vector-page-titlebar-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-titlebar-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Java Database Connectivity</span></h1> <div id="p-lang-btn" class="vector-dropdown mw-portlet mw-portlet-lang" > <input type="checkbox" id="p-lang-btn-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-lang-btn" class="vector-dropdown-checkbox mw-interlanguage-selector" aria-label="Go to an article in another language. Available in 25 languages" > <label id="p-lang-btn-label" for="p-lang-btn-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive mw-portlet-lang-heading-25" aria-hidden="true" ><span class="vector-icon mw-ui-icon-language-progressive mw-ui-icon-wikimedia-language-progressive"></span> <span class="vector-dropdown-label-text">25 languages</span> </label> <div class="vector-dropdown-content"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-ar mw-list-item"><a href="https://ar.wikipedia.org/wiki/%D8%AC%D9%8A_%D8%AF%D9%8A_%D8%A8%D9%8A_%D8%B3%D9%8A" title="جي دي بي سي – Arabic" lang="ar" hreflang="ar" data-title="جي دي بي سي" data-language-autonym="العربية" data-language-local-name="Arabic" class="interlanguage-link-target"><span>العربية</span></a></li><li class="interlanguage-link interwiki-ca mw-list-item"><a href="https://ca.wikipedia.org/wiki/Java_Database_Connectivity" title="Java Database Connectivity – Catalan" lang="ca" hreflang="ca" data-title="Java Database Connectivity" data-language-autonym="Català" data-language-local-name="Catalan" class="interlanguage-link-target"><span>Català</span></a></li><li class="interlanguage-link interwiki-cs mw-list-item"><a href="https://cs.wikipedia.org/wiki/Java_Database_Connectivity" title="Java Database Connectivity – Czech" lang="cs" hreflang="cs" data-title="Java Database Connectivity" data-language-autonym="Čeština" data-language-local-name="Czech" class="interlanguage-link-target"><span>Čeština</span></a></li><li class="interlanguage-link interwiki-da mw-list-item"><a href="https://da.wikipedia.org/wiki/JDBC" title="JDBC – Danish" lang="da" hreflang="da" data-title="JDBC" data-language-autonym="Dansk" data-language-local-name="Danish" class="interlanguage-link-target"><span>Dansk</span></a></li><li class="interlanguage-link interwiki-de mw-list-item"><a href="https://de.wikipedia.org/wiki/Java_Database_Connectivity" title="Java Database Connectivity – German" lang="de" hreflang="de" data-title="Java Database Connectivity" data-language-autonym="Deutsch" data-language-local-name="German" class="interlanguage-link-target"><span>Deutsch</span></a></li><li class="interlanguage-link interwiki-el mw-list-item"><a href="https://el.wikipedia.org/wiki/JDBC" title="JDBC – Greek" lang="el" hreflang="el" data-title="JDBC" data-language-autonym="Ελληνικά" data-language-local-name="Greek" class="interlanguage-link-target"><span>Ελληνικά</span></a></li><li class="interlanguage-link interwiki-es mw-list-item"><a href="https://es.wikipedia.org/wiki/Java_Database_Connectivity" title="Java Database Connectivity – Spanish" lang="es" hreflang="es" data-title="Java Database Connectivity" data-language-autonym="Español" data-language-local-name="Spanish" class="interlanguage-link-target"><span>Español</span></a></li><li class="interlanguage-link interwiki-fr mw-list-item"><a href="https://fr.wikipedia.org/wiki/Java_Database_Connectivity" title="Java Database Connectivity – French" lang="fr" hreflang="fr" data-title="Java Database Connectivity" data-language-autonym="Français" data-language-local-name="French" class="interlanguage-link-target"><span>Français</span></a></li><li class="interlanguage-link interwiki-ko mw-list-item"><a href="https://ko.wikipedia.org/wiki/JDBC" title="JDBC – Korean" lang="ko" hreflang="ko" data-title="JDBC" data-language-autonym="한국어" data-language-local-name="Korean" class="interlanguage-link-target"><span>한국어</span></a></li><li class="interlanguage-link interwiki-it mw-list-item"><a href="https://it.wikipedia.org/wiki/Java_DataBase_Connectivity" title="Java DataBase Connectivity – Italian" lang="it" hreflang="it" data-title="Java DataBase Connectivity" data-language-autonym="Italiano" data-language-local-name="Italian" class="interlanguage-link-target"><span>Italiano</span></a></li><li class="interlanguage-link interwiki-kk mw-list-item"><a href="https://kk.wikipedia.org/wiki/Java_Database_Connectivity" title="Java Database Connectivity – Kazakh" lang="kk" hreflang="kk" data-title="Java Database Connectivity" data-language-autonym="Қазақша" data-language-local-name="Kazakh" class="interlanguage-link-target"><span>Қазақша</span></a></li><li class="interlanguage-link interwiki-hu mw-list-item"><a href="https://hu.wikipedia.org/wiki/Java_Database_Connectivity" title="Java Database Connectivity – Hungarian" lang="hu" hreflang="hu" data-title="Java Database Connectivity" data-language-autonym="Magyar" data-language-local-name="Hungarian" class="interlanguage-link-target"><span>Magyar</span></a></li><li class="interlanguage-link interwiki-nl mw-list-item"><a href="https://nl.wikipedia.org/wiki/Java_DataBase_Connectivity" title="Java DataBase Connectivity – Dutch" lang="nl" hreflang="nl" data-title="Java DataBase Connectivity" data-language-autonym="Nederlands" data-language-local-name="Dutch" class="interlanguage-link-target"><span>Nederlands</span></a></li><li class="interlanguage-link interwiki-ja mw-list-item"><a href="https://ja.wikipedia.org/wiki/Java_Database_Connectivity" title="Java Database Connectivity – Japanese" lang="ja" hreflang="ja" data-title="Java Database Connectivity" data-language-autonym="日本語" data-language-local-name="Japanese" class="interlanguage-link-target"><span>日本語</span></a></li><li class="interlanguage-link interwiki-no mw-list-item"><a href="https://no.wikipedia.org/wiki/Java_Database_Connectivity" title="Java Database Connectivity – Norwegian Bokmål" lang="nb" hreflang="nb" data-title="Java Database Connectivity" data-language-autonym="Norsk bokmål" data-language-local-name="Norwegian Bokmål" class="interlanguage-link-target"><span>Norsk bokmål</span></a></li><li class="interlanguage-link interwiki-pl mw-list-item"><a href="https://pl.wikipedia.org/wiki/Java_DataBase_Connectivity" title="Java DataBase Connectivity – Polish" lang="pl" hreflang="pl" data-title="Java DataBase Connectivity" data-language-autonym="Polski" data-language-local-name="Polish" class="interlanguage-link-target"><span>Polski</span></a></li><li class="interlanguage-link interwiki-pt mw-list-item"><a href="https://pt.wikipedia.org/wiki/JDBC" title="JDBC – Portuguese" lang="pt" hreflang="pt" data-title="JDBC" data-language-autonym="Português" data-language-local-name="Portuguese" class="interlanguage-link-target"><span>Português</span></a></li><li class="interlanguage-link interwiki-ru mw-list-item"><a href="https://ru.wikipedia.org/wiki/Java_Database_Connectivity" title="Java Database Connectivity – Russian" lang="ru" hreflang="ru" data-title="Java Database Connectivity" data-language-autonym="Русский" data-language-local-name="Russian" class="interlanguage-link-target"><span>Русский</span></a></li><li class="interlanguage-link interwiki-fi mw-list-item"><a href="https://fi.wikipedia.org/wiki/Java_Database_Connectivity" title="Java Database Connectivity – Finnish" lang="fi" hreflang="fi" data-title="Java Database Connectivity" data-language-autonym="Suomi" data-language-local-name="Finnish" class="interlanguage-link-target"><span>Suomi</span></a></li><li class="interlanguage-link interwiki-sv mw-list-item"><a href="https://sv.wikipedia.org/wiki/Java_Database_Connectivity" title="Java Database Connectivity – Swedish" lang="sv" hreflang="sv" data-title="Java Database Connectivity" data-language-autonym="Svenska" data-language-local-name="Swedish" class="interlanguage-link-target"><span>Svenska</span></a></li><li class="interlanguage-link interwiki-th mw-list-item"><a href="https://th.wikipedia.org/wiki/%E0%B9%80%E0%B8%88%E0%B8%94%E0%B8%B5%E0%B8%9A%E0%B8%B5%E0%B8%8B%E0%B8%B5" title="เจดีบีซี – Thai" lang="th" hreflang="th" data-title="เจดีบีซี" data-language-autonym="ไทย" data-language-local-name="Thai" class="interlanguage-link-target"><span>ไทย</span></a></li><li class="interlanguage-link interwiki-tr mw-list-item"><a href="https://tr.wikipedia.org/wiki/Java_Database_Connectivity" title="Java Database Connectivity – Turkish" lang="tr" hreflang="tr" data-title="Java Database Connectivity" data-language-autonym="Türkçe" data-language-local-name="Turkish" class="interlanguage-link-target"><span>Türkçe</span></a></li><li class="interlanguage-link interwiki-uk mw-list-item"><a href="https://uk.wikipedia.org/wiki/Java_Database_Connectivity" title="Java Database Connectivity – Ukrainian" lang="uk" hreflang="uk" data-title="Java Database Connectivity" data-language-autonym="Українська" data-language-local-name="Ukrainian" class="interlanguage-link-target"><span>Українська</span></a></li><li class="interlanguage-link interwiki-vi mw-list-item"><a href="https://vi.wikipedia.org/wiki/Java_Dabase_Connectivity" title="Java Dabase Connectivity – Vietnamese" lang="vi" hreflang="vi" data-title="Java Dabase Connectivity" data-language-autonym="Tiếng Việt" data-language-local-name="Vietnamese" class="interlanguage-link-target"><span>Tiếng Việt</span></a></li><li class="interlanguage-link interwiki-zh mw-list-item"><a href="https://zh.wikipedia.org/wiki/Java%E6%95%B0%E6%8D%AE%E5%BA%93%E8%BF%9E%E6%8E%A5" title="Java数据库连接 – Chinese" lang="zh" hreflang="zh" data-title="Java数据库连接" data-language-autonym="中文" data-language-local-name="Chinese" class="interlanguage-link-target"><span>中文</span></a></li> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-edit wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q722772#sitelinks-wikipedia" title="Edit interlanguage links" class="wbc-editpage">Edit links</a></span></div> </div> </div> </div> </header> <div class="vector-page-toolbar"> <div class="vector-page-toolbar-container"> <div id="left-navigation"> <nav aria-label="Namespaces"> <div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-associated-pages" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-main" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Java_Database_Connectivity" title="View the content page [c]" accesskey="c"><span>Article</span></a></li><li id="ca-talk" class="vector-tab-noicon mw-list-item"><a href="/wiki/Talk:Java_Database_Connectivity" rel="discussion" title="Discuss improvements to the content page [t]" accesskey="t"><span>Talk</span></a></li> </ul> </div> </div> <div id="vector-variants-dropdown" class="vector-dropdown emptyPortlet" > <input type="checkbox" id="vector-variants-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-variants-dropdown" class="vector-dropdown-checkbox " aria-label="Change language variant" > <label id="vector-variants-dropdown-label" for="vector-variants-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">English</span> </label> <div class="vector-dropdown-content"> <div id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </nav> </div> <div id="right-navigation" class="vector-collapsible"> <nav aria-label="Views"> <div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Java_Database_Connectivity"><span>Read</span></a></li><li id="ca-edit" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Java_Database_Connectivity&amp;action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Java_Database_Connectivity&amp;action=history" title="Past revisions of this page [h]" accesskey="h"><span>View history</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown" > <input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-tools-dropdown" class="vector-dropdown-checkbox " aria-label="Tools" > <label id="vector-page-tools-dropdown-label" for="vector-page-tools-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">Tools</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-tools-unpinned-container" class="vector-unpinned-container"> <div id="vector-page-tools" class="vector-page-tools vector-pinnable-element"> <div class="vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-header-unpinned" data-feature-name="page-tools-pinned" data-pinnable-element-id="vector-page-tools" data-pinned-container-id="vector-page-tools-pinned-container" data-unpinned-container-id="vector-page-tools-unpinned-container" > <div class="vector-pinnable-header-label">Tools</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">hide</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="More options" > <div class="vector-menu-heading"> Actions </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-more-view" class="selected vector-more-collapsible-item mw-list-item"><a href="/wiki/Java_Database_Connectivity"><span>Read</span></a></li><li id="ca-more-edit" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Java_Database_Connectivity&amp;action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Java_Database_Connectivity&amp;action=history"><span>View history</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> General </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Special:WhatLinksHere/Java_Database_Connectivity" title="List of all English Wikipedia pages containing links to this page [j]" accesskey="j"><span>What links here</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Special:RecentChangesLinked/Java_Database_Connectivity" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k"><span>Related changes</span></a></li><li id="t-upload" class="mw-list-item"><a href="//en.wikipedia.org/wiki/Wikipedia:File_Upload_Wizard" title="Upload files [u]" accesskey="u"><span>Upload file</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=Java_Database_Connectivity&amp;oldid=1277926124" title="Permanent link to this revision of this page"><span>Permanent link</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=Java_Database_Connectivity&amp;action=info" title="More information about this page"><span>Page information</span></a></li><li id="t-cite" class="mw-list-item"><a href="/w/index.php?title=Special:CiteThisPage&amp;page=Java_Database_Connectivity&amp;id=1277926124&amp;wpFormIdentifier=titleform" title="Information on how to cite this page"><span>Cite this page</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Special:UrlShortener&amp;url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FJava_Database_Connectivity"><span>Get shortened URL</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Special:QrCode&amp;url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FJava_Database_Connectivity"><span>Download QR code</span></a></li> </ul> </div> </div> <div id="p-coll-print_export" class="vector-menu mw-portlet mw-portlet-coll-print_export" > <div class="vector-menu-heading"> Print/export </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="coll-download-as-rl" class="mw-list-item"><a href="/w/index.php?title=Special:DownloadAsPdf&amp;page=Java_Database_Connectivity&amp;action=show-download-screen" title="Download this page as a PDF file"><span>Download as PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="/w/index.php?title=Java_Database_Connectivity&amp;printable=yes" title="Printable version of this page [p]" accesskey="p"><span>Printable version</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects" > <div class="vector-menu-heading"> In other projects </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="wb-otherproject-link wb-otherproject-commons mw-list-item"><a href="https://commons.wikimedia.org/wiki/Category:JDBC" hreflang="en"><span>Wikimedia Commons</span></a></li><li class="wb-otherproject-link wb-otherproject-wikibooks mw-list-item"><a href="https://en.wikibooks.org/wiki/Java_Programming/Database_Programming" hreflang="en"><span>Wikibooks</span></a></li><li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q722772" title="Structured data on this page hosted by Wikidata [g]" accesskey="g"><span>Wikidata item</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> </div> </div> </div> <div class="vector-column-end"> <div class="vector-sticky-pinned-container"> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-pinned-container" class="vector-pinned-container"> <div id="vector-appearance" class="vector-appearance vector-pinnable-element"> <div class="vector-pinnable-header vector-appearance-pinnable-header vector-pinnable-header-pinned" data-feature-name="appearance-pinned" data-pinnable-element-id="vector-appearance" data-pinned-container-id="vector-appearance-pinned-container" data-unpinned-container-id="vector-appearance-unpinned-container" > <div class="vector-pinnable-header-label">Appearance</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">hide</button> </div> </div> </div> </nav> </div> </div> <div id="bodyContent" class="vector-body" aria-labelledby="firstHeading" data-mw-ve-target-container> <div class="vector-body-before-content"> <div class="mw-indicators"> </div> <div id="siteSub" class="noprint">From Wikipedia, the free encyclopedia</div> </div> <div id="contentSub"><div id="mw-content-subtitle"></div></div> <div id="mw-content-text" class="mw-body-content"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><div class="shortdescription nomobile noexcerpt noprint searchaux" style="display:none">API for Java</div> <p><b>Java Database Connectivity</b> (<b>JDBC</b>) is an <a href="/wiki/Application_programming_interface" class="mw-redirect" title="Application programming interface">application programming interface</a> (API) for the <a href="/wiki/Java_(programming_language)" title="Java (programming language)">Java</a> programming language which defines how a client may access a <a href="/wiki/Database" title="Database">database</a>. It is a Java-based data access technology used for Java database connectivity. It is part of the <a href="/wiki/Java_Standard_Edition" class="mw-redirect" title="Java Standard Edition">Java Standard Edition</a> platform, from <a href="/wiki/Oracle_Corporation" title="Oracle Corporation">Oracle Corporation</a>. It provides methods to query and update data in a database, and is oriented toward <a href="/wiki/Relational_database" title="Relational database">relational databases</a>. A JDBC-to-<a href="/wiki/ODBC" class="mw-redirect" title="ODBC">ODBC</a> bridge enables connections to any ODBC-accessible data source in the <a href="/wiki/Java_virtual_machine" title="Java virtual machine">Java virtual machine</a> (JVM) host environment.<style data-mw-deduplicate="TemplateStyles:r1257001546">.mw-parser-output .infobox-subbox{padding:0;border:none;margin:-3px;width:auto;min-width:100%;font-size:100%;clear:none;float:none;background-color:transparent}.mw-parser-output .infobox-3cols-child{margin:auto}.mw-parser-output .infobox .navbar{font-size:100%}@media screen{html.skin-theme-clientpref-night .mw-parser-output .infobox-full-data:not(.notheme)>div:not(.notheme)[style]{background:#1f1f23!important;color:#f8f9fa}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .infobox-full-data:not(.notheme) div:not(.notheme){background:#1f1f23!important;color:#f8f9fa}}@media(min-width:640px){body.skin--responsive .mw-parser-output .infobox-table{display:table!important}body.skin--responsive .mw-parser-output .infobox-table>caption{display:table-caption!important}body.skin--responsive .mw-parser-output .infobox-table>tbody{display:table-row-group}body.skin--responsive .mw-parser-output .infobox-table tr{display:table-row!important}body.skin--responsive .mw-parser-output .infobox-table th,body.skin--responsive .mw-parser-output .infobox-table td{padding-left:inherit;padding-right:inherit}}</style></p><table class="infobox vevent"><caption class="infobox-title summary">JDBC</caption><tbody><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="/wiki/Programmer" title="Programmer">Developer(s)</a></th><td class="infobox-data">Oracle Corporation</td></tr><tr style="display: none;"><td colspan="2" class="infobox-full-data"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1257001546" /></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="/wiki/Software_release_life_cycle" title="Software release life cycle">Stable release</a></th><td class="infobox-data"><div style="margin:0px;">JDBC 4.3 / September&#160;21,&#160;2017<span style="display: none;">&#160;(<span class="bday dtstart published updated itvstart">2017-09-21</span>)</span></div></td></tr><tr style="display:none"><td colspan="2"> </td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="/wiki/Operating_system" title="Operating system">Operating system</a></th><td class="infobox-data"><a href="/wiki/Cross-platform" class="mw-redirect" title="Cross-platform">Cross-platform</a></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="/wiki/Software_categories#Categorization_approaches" title="Software categories">Type</a></th><td class="infobox-data">Data access API</td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;">Website</th><td class="infobox-data"><a rel="nofollow" class="external text" href="https://docs.oracle.com/javase/8/docs/technotes/guides/jdbc">JDBC API Guide</a></td></tr></tbody></table> <meta property="mw:PageProp/toc" /> <div class="mw-heading mw-heading2"><h2 id="History_and_implementation">History and implementation</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java_Database_Connectivity&amp;action=edit&amp;section=1" title="Edit section: History and implementation"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><a href="/wiki/Sun_Microsystems" title="Sun Microsystems">Sun Microsystems</a> released JDBC as part of <a href="/wiki/Java_Development_Kit" title="Java Development Kit">Java Development Kit</a> (JDK) 1.1 on February 19, 1997.<sup id="cite_ref-JDK_1.1_release_1-0" class="reference"><a href="#cite_note-JDK_1.1_release-1"><span class="cite-bracket">&#91;</span>1<span class="cite-bracket">&#93;</span></a></sup> Since then it has been part of the <a href="/wiki/Java_Platform,_Standard_Edition" title="Java Platform, Standard Edition">Java Platform, Standard Edition</a> (Java SE). </p><p>The JDBC classes are contained in the <a href="/wiki/Java_package" title="Java package">Java package</a> <code><a rel="nofollow" class="external text" href="https://docs.oracle.com/en/java/javase/19/docs/api/java.sql/java/sql/package-summary.html">java.sql</a></code> and <code><a rel="nofollow" class="external text" href="https://docs.oracle.com/en/java/javase/19/docs/api/java.sql/javax/sql/package-summary.html">javax.sql</a></code>. </p><p>Starting with version 3.1, JDBC has been developed under the <a href="/wiki/Java_Community_Process" title="Java Community Process">Java Community Process</a>. JSR 54 specifies JDBC 3.0 (included in J2SE 1.4), JSR 114 specifies the JDBC Rowset additions, and JSR 221 is the specification of JDBC 4.0 (included in Java SE 6).<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">&#91;</span>2<span class="cite-bracket">&#93;</span></a></sup> </p><p>JDBC 4.1, is specified by a maintenance release 1 of JSR 221<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">&#91;</span>3<span class="cite-bracket">&#93;</span></a></sup> and is included in Java SE 7.<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">&#91;</span>4<span class="cite-bracket">&#93;</span></a></sup> </p><p>JDBC 4.2, is specified by a maintenance release 2 of JSR 221<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">&#91;</span>5<span class="cite-bracket">&#93;</span></a></sup> and is included in Java SE 8.<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">&#91;</span>6<span class="cite-bracket">&#93;</span></a></sup> </p><p>The latest version, JDBC 4.3, is specified by a maintenance release 3 of JSR 221<sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">&#91;</span>7<span class="cite-bracket">&#93;</span></a></sup> and is included in Java SE 9.<sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">&#91;</span>8<span class="cite-bracket">&#93;</span></a></sup> </p> <table class="wikitable"> <caption>JDBC versions </caption> <tbody><tr> <th>JDBC version</th> <th>Java version</th> <th>Release Type</th> <th>Release date </th></tr> <tr> <td>1.1</td> <td>JDK 1.1</td> <td>Main</td> <td>1997-02-19.<sup id="cite_ref-JDK_1.1_release_1-1" class="reference"><a href="#cite_note-JDK_1.1_release-1"><span class="cite-bracket">&#91;</span>1<span class="cite-bracket">&#93;</span></a></sup> </td></tr> <tr> <td><a rel="nofollow" class="external text" href="https://www.jcp.org/en/jsr/detail?id=54">3.0</a></td> <td>J2SE 1.4</td> <td>Main</td> <td>2002-05-09 </td></tr> <tr> <td><a rel="nofollow" class="external text" href="https://www.jcp.org/en/jsr/detail?id=221">4.0</a></td> <td>Java SE 6</td> <td>Main</td> <td>2006-12-11 </td></tr> <tr> <td><a rel="nofollow" class="external text" href="https://www.jcp.org/en/jsr/detail?id=221">4.1</a></td> <td>Java SE 7</td> <td>Maintenance</td> <td>2011-10-13 </td></tr> <tr> <td><a rel="nofollow" class="external text" href="https://www.jcp.org/en/jsr/detail?id=221">4.2</a></td> <td>Java SE 8</td> <td>Maintenance</td> <td>2014-03-04 </td></tr> <tr> <td><a rel="nofollow" class="external text" href="https://www.jcp.org/en/jsr/detail?id=221">4.3</a></td> <td>Java SE 9</td> <td>Maintenance</td> <td>2017-09-21 </td></tr></tbody></table> <div class="mw-heading mw-heading2"><h2 id="Functionality">Functionality</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java_Database_Connectivity&amp;action=edit&amp;section=2" title="Edit section: Functionality"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <table class="wikitable floatright"> <caption>Host database types which Java can convert to with a function </caption> <tbody><tr> <th>Oracle Datatype </th> <th><code>setXXX()</code> Methods </th></tr> <tr> <td>CHAR </td> <td><code>setString()</code> </td></tr> <tr> <td>VARCHAR2 </td> <td><code>setString()</code> </td></tr> <tr> <td rowspan="8">NUMBER </td> <td><code>setBigDecimal()</code> </td></tr> <tr> <td><code>setBoolean()</code> </td></tr> <tr> <td><code>setByte()</code> </td></tr> <tr> <td><code>setShort()</code> </td></tr> <tr> <td><code>setInt()</code> </td></tr> <tr> <td><code>setLong()</code> </td></tr> <tr> <td><code>setFloat()</code> </td></tr> <tr> <td><code>setDouble()</code> </td></tr> <tr> <td>INTEGER </td> <td><code>setInt()</code> </td></tr> <tr> <td>FLOAT </td> <td><code>setDouble()</code> </td></tr> <tr> <td>CLOB </td> <td><code>setClob()</code> </td></tr> <tr> <td>BLOB </td> <td><code>setBlob()</code> </td></tr> <tr> <td>RAW </td> <td><code>setBytes()</code> </td></tr> <tr> <td>LONGRAW </td> <td><code>setBytes()</code> </td></tr> <tr> <td rowspan="3">DATE </td> <td><code>setDate()</code> </td></tr> <tr> <td><code>setTime()</code> </td></tr> <tr> <td><code>setTimestamp()</code> </td></tr></tbody></table> <p>Since JDBC is mostly a collection of interface definitions and specifications, it allows multiple implementations of these interfaces to exist and be used by the same application at runtime. The API provides a mechanism for dynamically loading the correct Java packages and registering them with the JDBC Driver Manager (<code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">DriverManager</code>). <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">DriverManager</code> is used as a <code class="mw-highlight mw-highlight-lang-java mw-content-ltr" dir="ltr"><span class="n">Connection</span></code> <a href="/wiki/Factory_(object-oriented_programming)" title="Factory (object-oriented programming)">factory</a> for creating JDBC connections. </p><p>JDBC connections support creating and executing statements. JDBC connections support update statements such as SQL's <a href="/wiki/Create_(SQL)" class="mw-redirect" title="Create (SQL)">CREATE</a>, <a href="/wiki/Insert_(SQL)" title="Insert (SQL)">INSERT</a>, <a href="/wiki/Update_(SQL)" title="Update (SQL)">UPDATE</a> and <a href="/wiki/Delete_(SQL)" title="Delete (SQL)">DELETE</a>, or query statements such as <a href="/wiki/Select_(SQL)" title="Select (SQL)">SELECT</a>. Additionally, stored procedures may be invoked through a JDBC connection. JDBC represents statements using one of the following classes: </p> <ul><li><code><a rel="nofollow" class="external text" href="https://docs.oracle.com/en/java/javase/19/docs/api/java.sql/java/sql/Statement.html">Statement</a></code> &#8211; the <code class="mw-highlight mw-highlight-lang-java mw-content-ltr" dir="ltr"><span class="n">Statement</span></code> is sent to the database server each and every time. In other words, the <code class="mw-highlight mw-highlight-lang-java mw-content-ltr" dir="ltr"><span class="n">Statement</span></code> methods are executed using SQL statements to obtain a <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">ResultSet</code> object containing the data.<sup id="cite_ref-FOOTNOTEBai202274_9-0" class="reference"><a href="#cite_note-FOOTNOTEBai202274-9"><span class="cite-bracket">&#91;</span>9<span class="cite-bracket">&#93;</span></a></sup></li> <li><code><a rel="nofollow" class="external text" href="https://docs.oracle.com/en/java/javase/19/docs/api/java.sql/java/sql/PreparedStatement.html">PreparedStatement</a></code> &#8211; <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">PreparedStatement</code> is a subinterface of the <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">Statement</code> interface.<sup id="cite_ref-FOOTNOTEBai202274_9-1" class="reference"><a href="#cite_note-FOOTNOTEBai202274-9"><span class="cite-bracket">&#91;</span>9<span class="cite-bracket">&#93;</span></a></sup> The statement is cached and then the <a href="/wiki/Query_plan" title="Query plan">execution path</a> is pre-determined on the database server, allowing it to be executed multiple times in an efficient manner.<sup id="cite_ref-FOOTNOTEBai202274_9-2" class="reference"><a href="#cite_note-FOOTNOTEBai202274-9"><span class="cite-bracket">&#91;</span>9<span class="cite-bracket">&#93;</span></a></sup> <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">PreparedStatement</code> is used to execute pre-compiled SQL statements.<sup id="cite_ref-FOOTNOTEBai202274_9-3" class="reference"><a href="#cite_note-FOOTNOTEBai202274-9"><span class="cite-bracket">&#91;</span>9<span class="cite-bracket">&#93;</span></a></sup> Running pre-compiled statements increases statement execution efficiency and performance. The <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">PreparedStatement</code> is often used for dynamic statement where some input parameters must be passed into the target database.<sup id="cite_ref-FOOTNOTEBai2022122–124§4.2.3.5_More_About_the_Execution_Methods_10-0" class="reference"><a href="#cite_note-FOOTNOTEBai2022122–124§4.2.3.5_More_About_the_Execution_Methods-10"><span class="cite-bracket">&#91;</span>10<span class="cite-bracket">&#93;</span></a></sup> The</li></ul> <p><code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">PreparedStatement</code> allows the dynamic query to vary depending on the query parameter.<sup id="cite_ref-FOOTNOTEBai202272–74§3.2_JDBC_Components_and_Architecture_11-0" class="reference"><a href="#cite_note-FOOTNOTEBai202272–74§3.2_JDBC_Components_and_Architecture-11"><span class="cite-bracket">&#91;</span>11<span class="cite-bracket">&#93;</span></a></sup> </p> <ul><li><code><a rel="nofollow" class="external text" href="https://docs.oracle.com/en/java/javase/19/docs/api/java.sql/java/sql/CallableStatement.html">CallableStatement</a></code> &#8211; <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">CallableStatement</code> is a subinterface of the <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">Statement</code> interface.<sup id="cite_ref-FOOTNOTEBai202272–74§3.2_JDBC_Components_and_Architecture_11-1" class="reference"><a href="#cite_note-FOOTNOTEBai202272–74§3.2_JDBC_Components_and_Architecture-11"><span class="cite-bracket">&#91;</span>11<span class="cite-bracket">&#93;</span></a></sup> It is used for executing <a href="/wiki/Stored_procedures" class="mw-redirect" title="Stored procedures">stored procedures</a> on the database.<sup id="cite_ref-FOOTNOTEBai202272–74§3.2_JDBC_Components_and_Architecture_11-2" class="reference"><a href="#cite_note-FOOTNOTEBai202272–74§3.2_JDBC_Components_and_Architecture-11"><span class="cite-bracket">&#91;</span>11<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-FOOTNOTEHorstmann2022§5.5.3_SQL_Escapes_12-0" class="reference"><a href="#cite_note-FOOTNOTEHorstmann2022§5.5.3_SQL_Escapes-12"><span class="cite-bracket">&#91;</span>12<span class="cite-bracket">&#93;</span></a></sup> Both input and output parameters must be passed into the database for stored procedures.<sup id="cite_ref-FOOTNOTEBai2022122–124§4.2.3.5_JDBC_Components_and_Architecture_13-0" class="reference"><a href="#cite_note-FOOTNOTEBai2022122–124§4.2.3.5_JDBC_Components_and_Architecture-13"><span class="cite-bracket">&#91;</span>13<span class="cite-bracket">&#93;</span></a></sup></li></ul> <p>Update statements such as INSERT, UPDATE and DELETE return an update count indicating the number of <a href="/wiki/Row_(database)" title="Row (database)">rows</a> affected in the database as an integer.<sup id="cite_ref-FOOTNOTEBai2022122–124§4.2.3.5_JDBC_Components_and_Architecture_13-1" class="reference"><a href="#cite_note-FOOTNOTEBai2022122–124§4.2.3.5_JDBC_Components_and_Architecture-13"><span class="cite-bracket">&#91;</span>13<span class="cite-bracket">&#93;</span></a></sup> These statements do not return any other information. </p><p>Query statements return a JDBC row result set. The row result set is used to walk over the <a href="/wiki/Result_set" title="Result set">result set</a>. Individual <a href="/wiki/Column_(database)" title="Column (database)">columns</a> in a row are retrieved either by name or by column number. There may be any number of rows in the result set. The row result set has metadata that describes the names of the columns and their types. </p><p>There is an extension to the basic JDBC API in the <code><a rel="nofollow" class="external text" href="https://docs.oracle.com/en/java/javase/20/docs/api/java.sql/javax/sql/package-summary.html">javax.sql</a></code>. </p><p>JDBC connections are often managed via a <a href="/wiki/Connection_pool" title="Connection pool">connection pool</a> rather than obtained directly from the driver.<sup id="cite_ref-FOOTNOTEBai202283§3.5.1_JDBC_DataSource_14-0" class="reference"><a href="#cite_note-FOOTNOTEBai202283§3.5.1_JDBC_DataSource-14"><span class="cite-bracket">&#91;</span>14<span class="cite-bracket">&#93;</span></a></sup> </p> <div class="mw-heading mw-heading2"><h2 id="Examples">Examples</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java_Database_Connectivity&amp;action=edit&amp;section=3" title="Edit section: Examples"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>When a Java application needs a database connection, one of the <code>DriverManager.getConnection()</code> methods is used to create a JDBC <code class="mw-highlight mw-highlight-lang-java mw-content-ltr" dir="ltr"><span class="n">Connection</span></code>. The URL used is dependent upon the particular database and JDBC driver. It will always begin with the "jdbc:" protocol, but the rest is up to the particular vendor. </p> <div class="mw-highlight mw-highlight-lang-java mw-content-ltr" dir="ltr"><pre><span></span><span class="n">Connection</span><span class="w"> </span><span class="n">conn</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">DriverManager</span><span class="p">.</span><span class="na">getConnection</span><span class="p">(</span> <span class="w"> </span><span class="s">&quot;jdbc:somejdbcvendor:other data needed by some jdbc vendor&quot;</span><span class="p">,</span> <span class="w"> </span><span class="s">&quot;myLogin&quot;</span><span class="p">,</span> <span class="w"> </span><span class="s">&quot;myPassword&quot;</span><span class="p">);</span> <span class="k">try</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="cm">/* you use the connection here */</span> <span class="p">}</span><span class="w"> </span><span class="k">finally</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="c1">//It&#39;s important to close the connection when you are done with it</span> <span class="w"> </span><span class="k">try</span><span class="w"> </span><span class="p">{</span><span class="w"> </span> <span class="w"> </span><span class="n">conn</span><span class="p">.</span><span class="na">close</span><span class="p">();</span> <span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">catch</span><span class="w"> </span><span class="p">(</span><span class="n">Throwable</span><span class="w"> </span><span class="n">e</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="cm">/* Propagate the original exception</span> <span class="cm"> instead of this one that you want just logged */</span><span class="w"> </span> <span class="w"> </span><span class="n">logger</span><span class="p">.</span><span class="na">warn</span><span class="p">(</span><span class="s">&quot;Could not close JDBC Connection&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">e</span><span class="p">);</span> <span class="w"> </span><span class="p">}</span> <span class="p">}</span> </pre></div> <p>Starting from Java SE 7 you can use Java's <a rel="nofollow" class="external text" href="http://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html">try-with-resources</a> statement to simplify the above code: </p> <div class="mw-highlight mw-highlight-lang-java mw-content-ltr" dir="ltr"><pre><span></span><span class="k">try</span><span class="w"> </span><span class="p">(</span><span class="n">Connection</span><span class="w"> </span><span class="n">conn</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">DriverManager</span><span class="p">.</span><span class="na">getConnection</span><span class="p">(</span> <span class="w"> </span><span class="s">&quot;jdbc:somejdbcvendor:other data needed by some jdbc vendor&quot;</span><span class="p">,</span> <span class="w"> </span><span class="s">&quot;myLogin&quot;</span><span class="p">,</span> <span class="w"> </span><span class="s">&quot;myPassword&quot;</span><span class="p">))</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="cm">/* you use the connection here */</span> <span class="p">}</span><span class="w"> </span><span class="c1">// the VM will take care of closing the connection</span> </pre></div> <p>Once a connection is established, a <code class="mw-highlight mw-highlight-lang-java mw-content-ltr" dir="ltr"><span class="n">Statement</span></code> can be created. </p> <div class="mw-highlight mw-highlight-lang-java mw-content-ltr" dir="ltr"><pre><span></span><span class="k">try</span><span class="w"> </span><span class="p">(</span><span class="n">Statement</span><span class="w"> </span><span class="n">stmt</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">conn</span><span class="p">.</span><span class="na">createStatement</span><span class="p">())</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">stmt</span><span class="p">.</span><span class="na">executeUpdate</span><span class="p">(</span><span class="s">&quot;INSERT INTO MyTable(name) VALUES (&#39;my name&#39;)&quot;</span><span class="p">);</span> <span class="p">}</span> </pre></div> <p>Note that <code class="mw-highlight mw-highlight-lang-java mw-content-ltr" dir="ltr"><span class="n">Connection</span></code>s, <code class="mw-highlight mw-highlight-lang-java mw-content-ltr" dir="ltr"><span class="n">Statement</span></code>s, and <code class="mw-highlight mw-highlight-lang-java mw-content-ltr" dir="ltr"><span class="n">ResultSet</span></code>s often tie up <a href="/wiki/Operating_system" title="Operating system">operating system</a> resources such as sockets or <a href="/wiki/File_descriptor" title="File descriptor">file descriptors</a>. In the case of <code class="mw-highlight mw-highlight-lang-java mw-content-ltr" dir="ltr"><span class="n">Connection</span></code>s to remote database servers, further resources are tied up on the server, e.g. <a href="/wiki/Cursor_(databases)" title="Cursor (databases)">cursors</a> for currently open <code class="mw-highlight mw-highlight-lang-java mw-content-ltr" dir="ltr"><span class="n">ResultSet</span></code>s. It is vital to <code>close()</code> any JDBC object as soon as it has played its part; <a href="/wiki/Garbage_collection_(computer_science)" title="Garbage collection (computer science)">garbage collection</a> should not be relied upon. The above try-with-resources construct is a code pattern that obviates this. </p><p>Data is retrieved from the database using a database query mechanism. The example below shows creating a statement and executing a query. </p> <div class="mw-highlight mw-highlight-lang-java mw-content-ltr" dir="ltr"><pre><span></span><span class="k">try</span><span class="w"> </span><span class="p">(</span><span class="n">Statement</span><span class="w"> </span><span class="n">stmt</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">conn</span><span class="p">.</span><span class="na">createStatement</span><span class="p">();</span> <span class="w"> </span><span class="n">ResultSet</span><span class="w"> </span><span class="n">rs</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">stmt</span><span class="p">.</span><span class="na">executeQuery</span><span class="p">(</span><span class="s">&quot;SELECT * FROM MyTable&quot;</span><span class="p">)</span> <span class="p">)</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="k">while</span><span class="w"> </span><span class="p">(</span><span class="n">rs</span><span class="p">.</span><span class="na">next</span><span class="p">())</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">numColumns</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">rs</span><span class="p">.</span><span class="na">getMetaData</span><span class="p">().</span><span class="na">getColumnCount</span><span class="p">();</span> <span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">1</span><span class="p">;</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">&lt;=</span><span class="w"> </span><span class="n">numColumns</span><span class="p">;</span><span class="w"> </span><span class="n">i</span><span class="o">++</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="c1">// Column numbers start at 1.</span> <span class="w"> </span><span class="c1">// Also, there are many methods on the result set to return</span> <span class="w"> </span><span class="c1">// the column as a particular type. Refer to the Sun documentation</span> <span class="w"> </span><span class="c1">// for the list of valid conversions.</span> <span class="w"> </span><span class="n">System</span><span class="p">.</span><span class="na">out</span><span class="p">.</span><span class="na">println</span><span class="p">(</span><span class="w"> </span><span class="s">&quot;COLUMN &quot;</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="s">&quot; = &quot;</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">rs</span><span class="p">.</span><span class="na">getObject</span><span class="p">(</span><span class="n">i</span><span class="p">));</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="p">}</span> <span class="p">}</span> </pre></div> <p>The following code is an example of a <code>PreparedStatement</code> query which uses <code>conn</code> and class from the first example: </p> <div class="mw-highlight mw-highlight-lang-java mw-content-ltr" dir="ltr"><pre><span></span><span class="k">try</span><span class="w"> </span><span class="p">(</span><span class="n">PreparedStatement</span><span class="w"> </span><span class="n">ps</span><span class="w"> </span><span class="o">=</span> <span class="w"> </span><span class="n">conn</span><span class="p">.</span><span class="na">prepareStatement</span><span class="p">(</span><span class="s">&quot;SELECT i.*, j.* FROM Omega i, Zappa j WHERE i.name =&#160;? AND j.num =&#160;?&quot;</span><span class="p">)</span> <span class="p">)</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="c1">// In the SQL statement being prepared, each question mark is a placeholder</span> <span class="w"> </span><span class="c1">// that must be replaced with a value you provide through a &quot;set&quot; method invocation.</span> <span class="w"> </span><span class="c1">// The following two method calls replace the two placeholders; the first is</span> <span class="w"> </span><span class="c1">// replaced by a string value, and the second by an integer value.</span> <span class="w"> </span><span class="n">ps</span><span class="p">.</span><span class="na">setString</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;Poor Yorick&quot;</span><span class="p">);</span> <span class="w"> </span><span class="n">ps</span><span class="p">.</span><span class="na">setInt</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">8008</span><span class="p">);</span> <span class="w"> </span><span class="c1">// The ResultSet, rs, conveys the result of executing the SQL statement.</span> <span class="w"> </span><span class="c1">// Each time you call rs.next(), an internal row pointer, or cursor,</span> <span class="w"> </span><span class="c1">// is advanced to the next row of the result. The cursor initially is</span> <span class="w"> </span><span class="c1">// positioned before the first row.</span> <span class="w"> </span><span class="k">try</span><span class="w"> </span><span class="p">(</span><span class="n">ResultSet</span><span class="w"> </span><span class="n">rs</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ps</span><span class="p">.</span><span class="na">executeQuery</span><span class="p">())</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="k">while</span><span class="w"> </span><span class="p">(</span><span class="n">rs</span><span class="p">.</span><span class="na">next</span><span class="p">())</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">numColumns</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">rs</span><span class="p">.</span><span class="na">getMetaData</span><span class="p">().</span><span class="na">getColumnCount</span><span class="p">();</span> <span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">1</span><span class="p">;</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">&lt;=</span><span class="w"> </span><span class="n">numColumns</span><span class="p">;</span><span class="w"> </span><span class="n">i</span><span class="o">++</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="c1">// Column numbers start at 1.</span> <span class="w"> </span><span class="c1">// Also, there are many methods on the result set to return</span> <span class="w"> </span><span class="c1">// the column as a particular type. Refer to the Sun documentation</span> <span class="w"> </span><span class="c1">// for the list of valid conversions.</span> <span class="w"> </span><span class="n">System</span><span class="p">.</span><span class="na">out</span><span class="p">.</span><span class="na">println</span><span class="p">(</span><span class="s">&quot;COLUMN &quot;</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="s">&quot; = &quot;</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">rs</span><span class="p">.</span><span class="na">getObject</span><span class="p">(</span><span class="n">i</span><span class="p">));</span> <span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="c1">// for</span> <span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="c1">// while</span> <span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="c1">// try</span> <span class="p">}</span><span class="w"> </span><span class="c1">// try</span> </pre></div> <p>If a database operation fails, JDBC raises an <code><a rel="nofollow" class="external text" href="https://docs.oracle.com/en/java/javase/19/docs/api/java.sql/java/sql/SQLException.html">SQLException</a></code>. There is typically very little one can do to recover from such an error, apart from logging it with as much detail as possible. It is recommended that the <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">SQLException</code> be translated into an application domain exception (an unchecked one) that eventually results in a transaction rollback and a notification to the user. </p><p>The following code is an example of a <a href="/wiki/Database_transaction" title="Database transaction">database transaction</a>: </p> <div class="mw-highlight mw-highlight-lang-java mw-content-ltr" dir="ltr"><pre><span></span><span class="kt">boolean</span><span class="w"> </span><span class="n">autoCommitDefault</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">conn</span><span class="p">.</span><span class="na">getAutoCommit</span><span class="p">();</span> <span class="k">try</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">conn</span><span class="p">.</span><span class="na">setAutoCommit</span><span class="p">(</span><span class="kc">false</span><span class="p">);</span> <span class="w"> </span><span class="cm">/* You execute statements against conn here transactionally */</span> <span class="w"> </span><span class="n">conn</span><span class="p">.</span><span class="na">commit</span><span class="p">();</span> <span class="p">}</span><span class="w"> </span><span class="k">catch</span><span class="w"> </span><span class="p">(</span><span class="n">Throwable</span><span class="w"> </span><span class="n">e</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="k">try</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="n">conn</span><span class="p">.</span><span class="na">rollback</span><span class="p">();</span><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">catch</span><span class="w"> </span><span class="p">(</span><span class="n">Throwable</span><span class="w"> </span><span class="n">e</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="n">logger</span><span class="p">.</span><span class="na">warn</span><span class="p">(</span><span class="s">&quot;Could not rollback transaction&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">e</span><span class="p">);</span><span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="k">throw</span><span class="w"> </span><span class="n">e</span><span class="p">;</span> <span class="p">}</span><span class="w"> </span><span class="k">finally</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="k">try</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="n">conn</span><span class="p">.</span><span class="na">setAutoCommit</span><span class="p">(</span><span class="n">autoCommitDefault</span><span class="p">);</span><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">catch</span><span class="w"> </span><span class="p">(</span><span class="n">Throwable</span><span class="w"> </span><span class="n">e</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="n">logger</span><span class="p">.</span><span class="na">warn</span><span class="p">(</span><span class="s">&quot;Could not restore AutoCommit setting&quot;</span><span class="p">,</span><span class="n">e</span><span class="p">);</span><span class="w"> </span><span class="p">}</span> <span class="p">}</span> </pre></div> <p>For an example of a <code>CallableStatement</code> (to call stored procedures in the database), see the <a rel="nofollow" class="external text" href="https://docs.oracle.com/javase/8/docs/technotes/guides/jdbc/getstart/callablestatement.html">JDBC API Guide</a> documentation. </p> <div class="mw-highlight mw-highlight-lang-java mw-content-ltr" dir="ltr"><pre><span></span><span class="kn">import</span><span class="w"> </span><span class="nn">java.sql.Connection</span><span class="p">;</span> <span class="kn">import</span><span class="w"> </span><span class="nn">java.sql.DriverManager</span><span class="p">;</span> <span class="kn">import</span><span class="w"> </span><span class="nn">java.sql.Statement</span><span class="p">;</span> <span class="kd">public</span><span class="w"> </span><span class="kd">class</span> <span class="nc">Mydb1</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="kd">static</span><span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">URL</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;jdbc:mysql://localhost/mydb&quot;</span><span class="p">;</span> <span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="kd">static</span><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="nf">main</span><span class="p">(</span><span class="n">String</span><span class="o">[]</span><span class="w"> </span><span class="n">args</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="k">try</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">Class</span><span class="p">.</span><span class="na">forName</span><span class="p">(</span><span class="s">&quot;com.mysql.jdbc.Driver&quot;</span><span class="p">);</span> <span class="w"> </span><span class="n">Connection</span><span class="w"> </span><span class="n">conn</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">DriverManager</span><span class="p">.</span><span class="na">getConnection</span><span class="p">(</span><span class="n">URL</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;root&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;root&quot;</span><span class="p">);</span> <span class="w"> </span><span class="n">Statement</span><span class="w"> </span><span class="n">stmt</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">conn</span><span class="p">.</span><span class="na">createStatement</span><span class="p">();</span> <span class="w"> </span> <span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">sql</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">&quot;INSERT INTO emp1 VALUES (&#39;pctb5361&#39;, &#39;kiril&#39;, &#39;john&#39;, 968666668)&quot;</span><span class="p">;</span> <span class="w"> </span><span class="n">stmt</span><span class="p">.</span><span class="na">executeUpdate</span><span class="p">(</span><span class="n">sql</span><span class="p">);</span> <span class="w"> </span> <span class="w"> </span><span class="n">System</span><span class="p">.</span><span class="na">out</span><span class="p">.</span><span class="na">println</span><span class="p">(</span><span class="s">&quot;Inserted records into the table...&quot;</span><span class="p">);</span> <span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">catch</span><span class="w"> </span><span class="p">(</span><span class="n">Exception</span><span class="w"> </span><span class="n">e</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> <span class="w"> </span><span class="n">e</span><span class="p">.</span><span class="na">printStackTrace</span><span class="p">();</span> <span class="w"> </span><span class="p">}</span> <span class="w"> </span><span class="p">}</span> <span class="p">}</span> </pre></div> <div class="mw-heading mw-heading2"><h2 id="JDBC_drivers">JDBC drivers</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java_Database_Connectivity&amp;action=edit&amp;section=4" title="Edit section: JDBC drivers"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1236090951">.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}</style><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="/wiki/JDBC_driver" title="JDBC driver">JDBC driver</a></div> <p>JDBC drivers are client-side <a href="/wiki/Adapter_pattern" title="Adapter pattern">adapters</a> (installed on the client machine, not on the server) that convert requests from Java programs to a protocol that the DBMS can understand. </p> <div class="mw-heading mw-heading3"><h3 id="Types">Types</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java_Database_Connectivity&amp;action=edit&amp;section=5" title="Edit section: Types"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Commercial and free drivers provide connectivity to most relational-database servers. These drivers fall into one of the following types: </p> <ul><li><a href="/wiki/JDBC_driver#Type_1_Driver_-_JDBC-ODBC_bridge" title="JDBC driver">Type 1</a> that calls native code of the locally available ODBC driver. (Note: In JDBC 4.2, JDBC-ODBC bridge has been removed<sup id="cite_ref-15" class="reference"><a href="#cite_note-15"><span class="cite-bracket">&#91;</span>15<span class="cite-bracket">&#93;</span></a></sup>)</li> <li><a href="/wiki/JDBC_driver#Type_2_Driver_-_Native-API_Driver" title="JDBC driver">Type 2</a> that calls database vendor native library on a client side. This code then talks to database over the network.</li> <li><a href="/wiki/JDBC_driver#Type_3_Driver_-_Network-Protocol_Driver(MiddleWare_Driver)" title="JDBC driver">Type 3</a>, the pure-java driver that talks with the server-side middleware that then talks to the database.</li> <li><a href="/wiki/JDBC_driver#Type_4_Driver_-_Database-Protocol_Driver(Pure_Java_Driver)" title="JDBC driver">Type 4</a>, the pure-java driver that uses database native protocol.</li></ul> <p>Note also a type called an <a href="/w/index.php?title=Internal_JDBC_driver&amp;action=edit&amp;redlink=1" class="new" title="Internal JDBC driver (page does not exist)">internal JDBC driver</a> - a driver embedded with <a href="/wiki/Java_Runtime_Environment" class="mw-redirect" title="Java Runtime Environment">JRE</a> in Java-enabled SQL databases. It is used for <a href="/wiki/Java_stored_procedure" class="mw-redirect" title="Java stored procedure">Java stored procedures</a>. This does not fit into the classification scheme above, although it would likely resemble either a type 2 or type 4 driver (depending on whether the database itself is implemented in Java or not). An example of this is the KPRB (Kernel Program Bundled) driver<sup id="cite_ref-16" class="reference"><a href="#cite_note-16"><span class="cite-bracket">&#91;</span>16<span class="cite-bracket">&#93;</span></a></sup> supplied with <a href="/wiki/Oracle_Database" title="Oracle Database">Oracle RDBMS</a>. "jdbc:default:connection" offers a relatively standard way of making such a connection (at least the Oracle database and <a href="/wiki/Apache_Derby" title="Apache Derby">Apache Derby</a> support it). However, in the case of an internal JDBC driver, the JDBC client actually runs as part of the database being accessed, and so can access data directly rather than through network protocols. </p> <div class="mw-heading mw-heading3"><h3 id="Sources">Sources</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java_Database_Connectivity&amp;action=edit&amp;section=6" title="Edit section: Sources"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><a href="/wiki/Oracle_Corporation" title="Oracle Corporation">Oracle</a> provides a <a rel="nofollow" class="external text" href="http://www.oracle.com/technetwork/java/index-136695.html">list of some JDBC drivers and vendors</a></li> <li><a href="/wiki/Simba_Technologies" title="Simba Technologies">Simba Technologies</a> ships an SDK for building custom JDBC Drivers for any custom/proprietary relational data source</li> <li>CData Software ships type 4 JDBC Drivers for various applications, databases, and Web APIs.<sup id="cite_ref-17" class="reference"><a href="#cite_note-17"><span class="cite-bracket">&#91;</span>17<span class="cite-bracket">&#93;</span></a></sup></li> <li>RSSBus Type 4 JDBC Drivers for applications, databases, and web services<sup id="cite_ref-18" class="reference"><a href="#cite_note-18"><span class="cite-bracket">&#91;</span>18<span class="cite-bracket">&#93;</span></a></sup></li> <li>DataDirect Technologies provides a comprehensive suite of fast Type 4 JDBC drivers for all major database they advertise as Type 5<sup id="cite_ref-datadirect_19-0" class="reference"><a href="#cite_note-datadirect-19"><span class="cite-bracket">&#91;</span>19<span class="cite-bracket">&#93;</span></a></sup></li> <li>IDS Software provides a Type 3 JDBC driver for concurrent access to all major databases. Supported features include resultset caching, SSL encryption, custom data source, dbShield</li> <li>JDBaccess is a Java persistence library for <a href="/wiki/MySQL" title="MySQL">MySQL</a> and <a href="/wiki/Oracle_database" class="mw-redirect" title="Oracle database">Oracle</a> which defines major database access operations in an easy usable API above JDBC</li> <li><a href="/w/index.php?title=JNetDirect_Incorporated&amp;action=edit&amp;redlink=1" class="new" title="JNetDirect Incorporated (page does not exist)">JNetDirect</a> provides a suite of fully Sun J2EE certified high-performance JDBC drivers.</li> <li>JDBCR4 is a service program written by <a href="/wiki/Scott_Klement" title="Scott Klement">Scott Klement</a> to allow access to JDBC from <a href="/wiki/IBM_RPG" title="IBM RPG">RPG</a> on the <a href="/wiki/IBM_i" title="IBM i">IBM i</a>.<sup id="cite_ref-20" class="reference"><a href="#cite_note-20"><span class="cite-bracket">&#91;</span>20<span class="cite-bracket">&#93;</span></a></sup></li> <li><a href="/wiki/HSQLDB" title="HSQLDB">HSQLDB</a> is a <a href="/wiki/Relational_database_management_system" class="mw-redirect" title="Relational database management system">RDBMS</a> with a JDBC driver and is available under a BSD license.</li> <li>SchemaCrawler<sup id="cite_ref-schemacrawler_21-0" class="reference"><a href="#cite_note-schemacrawler-21"><span class="cite-bracket">&#91;</span>21<span class="cite-bracket">&#93;</span></a></sup> is an open source API that leverages JDBC, and makes database metadata available as plain old Java objects (POJOs)</li></ul> <div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java_Database_Connectivity&amp;action=edit&amp;section=7" title="Edit section: See also"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><a href="/wiki/GNU_Data_Access" class="mw-redirect" title="GNU Data Access">GNU Data Access</a> (GDA)</li> <li><a href="/wiki/JDBCFacade" title="JDBCFacade">JDBCFacade</a></li> <li><a href="/wiki/Open_Database_Connectivity" title="Open Database Connectivity">Open Database Connectivity</a> (ODBC)</li> <li><a href="/wiki/Object%E2%80%93relational_mapping" title="Object–relational mapping">Object–relational mapping</a> (ORM)</li></ul> <div class="mw-heading mw-heading2"><h2 id="Citations">Citations</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java_Database_Connectivity&amp;action=edit&amp;section=8" title="Edit section: Citations"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1239543626">.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}</style><div class="reflist"> <div class="mw-references-wrap mw-references-columns"><ol class="references"> <li id="cite_note-JDK_1.1_release-1"><span class="mw-cite-backlink">^ <a href="#cite_ref-JDK_1.1_release_1-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-JDK_1.1_release_1-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"> <style data-mw-deduplicate="TemplateStyles:r1238218222">.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("//upload.wikimedia.org/wikipedia/commons/6/65/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("//upload.wikimedia.org/wikipedia/commons/d/d6/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("//upload.wikimedia.org/wikipedia/commons/a/aa/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("//upload.wikimedia.org/wikipedia/commons/4/4c/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}</style><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20080210044125/http://www.sun.com/smi/Press/sunflash/1997-02/sunflash.970219.0001.xml">"Sun Ships JDK 1.1 -- Javabeans Included"</a>. <i>www.sun.com</i>. <a href="/wiki/Sun_Microsystems" title="Sun Microsystems">Sun Microsystems</a>. 1997-02-19. Archived from <a rel="nofollow" class="external text" href="http://www.sun.com/smi/Press/sunflash/1997-02/sunflash.970219.0001.xml">the original</a> on 2008-02-10<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-02-15</span></span>. <q>February 19, 1997 - The JDK 1.1 [...] is now available [...]. This release of the JDK includes: [...] Robust new features including JDBC for database connectivity</q></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=www.sun.com&amp;rft.atitle=Sun+Ships+JDK+1.1+--+Javabeans+Included&amp;rft.date=1997-02-19&amp;rft_id=http%3A%2F%2Fwww.sun.com%2Fsmi%2FPress%2Fsunflash%2F1997-02%2Fsunflash.970219.0001.xml&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+Database+Connectivity" class="Z3988"></span></span> </li> <li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://java.sun.com/products/jdbc/download.html#corespec40">JDBC API Specification Version: 4.0</a>.</span> </li> <li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://jcp.org/aboutJava/communityprocess/mrel/jsr221/index.html">"The Java Community Process(SM) Program - communityprocess - mrel"</a>. <i>jcp.org</i><span class="reference-accessdate">. Retrieved <span class="nowrap">22 March</span> 2018</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=jcp.org&amp;rft.atitle=The+Java+Community+Process%28SM%29+Program+-+communityprocess+-+mrel&amp;rft_id=http%3A%2F%2Fjcp.org%2FaboutJava%2Fcommunityprocess%2Fmrel%2Fjsr221%2Findex.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+Database+Connectivity" class="Z3988"></span></span> </li> <li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://docs.oracle.com/javase/7/docs/technotes/guides/jdbc/jdbc_41.html">"JDBC 4.1"</a>. <i>docs.oracle.com</i><span class="reference-accessdate">. Retrieved <span class="nowrap">22 March</span> 2018</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=docs.oracle.com&amp;rft.atitle=JDBC+4.1&amp;rft_id=http%3A%2F%2Fdocs.oracle.com%2Fjavase%2F7%2Fdocs%2Ftechnotes%2Fguides%2Fjdbc%2Fjdbc_41.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+Database+Connectivity" class="Z3988"></span></span> </li> <li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-5">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://jcp.org/aboutJava/communityprocess/mrel/jsr221/index2.html">"The Java Community Process(SM) Program - communityprocess - mrel"</a>. <i>jcp.org</i><span class="reference-accessdate">. Retrieved <span class="nowrap">22 March</span> 2018</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=jcp.org&amp;rft.atitle=The+Java+Community+Process%28SM%29+Program+-+communityprocess+-+mrel&amp;rft_id=https%3A%2F%2Fjcp.org%2FaboutJava%2Fcommunityprocess%2Fmrel%2Fjsr221%2Findex2.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+Database+Connectivity" class="Z3988"></span></span> </li> <li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://docs.oracle.com/javase/8/docs/technotes/guides/jdbc/jdbc_42.html">"JDBC 4.2"</a>. <i>docs.oracle.com</i><span class="reference-accessdate">. Retrieved <span class="nowrap">22 March</span> 2018</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=docs.oracle.com&amp;rft.atitle=JDBC+4.2&amp;rft_id=http%3A%2F%2Fdocs.oracle.com%2Fjavase%2F8%2Fdocs%2Ftechnotes%2Fguides%2Fjdbc%2Fjdbc_42.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+Database+Connectivity" class="Z3988"></span></span> </li> <li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-7">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://jcp.org/aboutJava/communityprocess/mrel/jsr221/index3.html">"The Java Community Process(SM) Program - communityprocess - mrel"</a>. <i>jcp.org</i><span class="reference-accessdate">. Retrieved <span class="nowrap">22 March</span> 2018</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=jcp.org&amp;rft.atitle=The+Java+Community+Process%28SM%29+Program+-+communityprocess+-+mrel&amp;rft_id=https%3A%2F%2Fjcp.org%2FaboutJava%2Fcommunityprocess%2Fmrel%2Fjsr221%2Findex3.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+Database+Connectivity" class="Z3988"></span></span> </li> <li id="cite_note-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-8">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://docs.oracle.com/javase/9/docs/api/java/sql/package-summary.html">"java.sql (Java SE 9 &amp; JDK 9)"</a>. <i>docs.oracle.com</i><span class="reference-accessdate">. Retrieved <span class="nowrap">22 March</span> 2018</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=docs.oracle.com&amp;rft.atitle=java.sql+%28Java+SE+9+%26+JDK+9%29&amp;rft_id=http%3A%2F%2Fdocs.oracle.com%2Fjavase%2F9%2Fdocs%2Fapi%2Fjava%2Fsql%2Fpackage-summary.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+Database+Connectivity" class="Z3988"></span></span> </li> <li id="cite_note-FOOTNOTEBai202274-9"><span class="mw-cite-backlink">^ <a href="#cite_ref-FOOTNOTEBai202274_9-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-FOOTNOTEBai202274_9-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-FOOTNOTEBai202274_9-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-FOOTNOTEBai202274_9-3"><sup><i><b>d</b></i></sup></a></span> <span class="reference-text"><a href="#CITEREFBai2022">Bai 2022</a>, p.&#160;74.</span> </li> <li id="cite_note-FOOTNOTEBai2022122–124§4.2.3.5_More_About_the_Execution_Methods-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTEBai2022122–124§4.2.3.5_More_About_the_Execution_Methods_10-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFBai2022">Bai 2022</a>, pp.&#160;122–124, §4.2.3.5 More About the Execution Methods.</span> </li> <li id="cite_note-FOOTNOTEBai202272–74§3.2_JDBC_Components_and_Architecture-11"><span class="mw-cite-backlink">^ <a href="#cite_ref-FOOTNOTEBai202272–74§3.2_JDBC_Components_and_Architecture_11-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-FOOTNOTEBai202272–74§3.2_JDBC_Components_and_Architecture_11-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-FOOTNOTEBai202272–74§3.2_JDBC_Components_and_Architecture_11-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><a href="#CITEREFBai2022">Bai 2022</a>, pp.&#160;72–74, §3.2 JDBC Components and Architecture.</span> </li> <li id="cite_note-FOOTNOTEHorstmann2022§5.5.3_SQL_Escapes-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTEHorstmann2022§5.5.3_SQL_Escapes_12-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFHorstmann2022">Horstmann 2022</a>, §5.5.3 SQL Escapes.</span> </li> <li id="cite_note-FOOTNOTEBai2022122–124§4.2.3.5_JDBC_Components_and_Architecture-13"><span class="mw-cite-backlink">^ <a href="#cite_ref-FOOTNOTEBai2022122–124§4.2.3.5_JDBC_Components_and_Architecture_13-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-FOOTNOTEBai2022122–124§4.2.3.5_JDBC_Components_and_Architecture_13-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><a href="#CITEREFBai2022">Bai 2022</a>, pp.&#160;122–124, §4.2.3.5 JDBC Components and Architecture.</span> </li> <li id="cite_note-FOOTNOTEBai202283§3.5.1_JDBC_DataSource-14"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTEBai202283§3.5.1_JDBC_DataSource_14-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFBai2022">Bai 2022</a>, p.&#160;83, §3.5.1 JDBC DataSource.</span> </li> <li id="cite_note-15"><span class="mw-cite-backlink"><b><a href="#cite_ref-15">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://docs.oracle.com/javase/8/docs/technotes/guides/jdbc/">"Java JDBC API"</a>. <i>docs.oracle.com</i><span class="reference-accessdate">. Retrieved <span class="nowrap">22 March</span> 2018</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=docs.oracle.com&amp;rft.atitle=Java+JDBC+API&amp;rft_id=https%3A%2F%2Fdocs.oracle.com%2Fjavase%2F8%2Fdocs%2Ftechnotes%2Fguides%2Fjdbc%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+Database+Connectivity" class="Z3988"></span></span> </li> <li id="cite_note-16"><span class="mw-cite-backlink"><b><a href="#cite_ref-16">^</a></b></span> <span class="reference-text"> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFGreenwaldStackowiakStern1999" class="citation book cs1">Greenwald, Rick; Stackowiak, Robert; Stern, Jonathan (1999). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=CTebAgAAQBAJ"><i>Oracle Essentials: Oracle Database 10g</i></a>. Essentials Series (3&#160;ed.). Sebastopol, California: O'Reilly Media, Inc. (published 2004). p.&#160;318. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/9780596005856" title="Special:BookSources/9780596005856"><bdi>9780596005856</bdi></a><span class="reference-accessdate">. Retrieved <span class="nowrap">2016-11-03</span></span>. <q><i>The in-database JDBC driver (JDBC KPRB)</i>[:] Java code uses the JDBC KPRB (Kernel Program Bundled) version to access SQL on the same server.</q></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Oracle+Essentials%3A+Oracle+Database+10g&amp;rft.place=Sebastopol%2C+California&amp;rft.series=Essentials+Series&amp;rft.pages=318&amp;rft.edition=3&amp;rft.pub=O%27Reilly+Media%2C+Inc.&amp;rft.date=1999&amp;rft.isbn=9780596005856&amp;rft.aulast=Greenwald&amp;rft.aufirst=Rick&amp;rft.au=Stackowiak%2C+Robert&amp;rft.au=Stern%2C+Jonathan&amp;rft_id=https%3A%2F%2Fbooks.google.com%2Fbooks%3Fid%3DCTebAgAAQBAJ&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+Database+Connectivity" class="Z3988"></span></span> </li> <li id="cite_note-17"><span class="mw-cite-backlink"><b><a href="#cite_ref-17">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.cdata.com/jdbc/">"JDBC Drivers - CData Software"</a>. <i>CData Software</i><span class="reference-accessdate">. Retrieved <span class="nowrap">22 March</span> 2018</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=CData+Software&amp;rft.atitle=JDBC+Drivers+-+CData+Software&amp;rft_id=http%3A%2F%2Fwww.cdata.com%2Fjdbc%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+Database+Connectivity" class="Z3988"></span></span> </li> <li id="cite_note-18"><span class="mw-cite-backlink"><b><a href="#cite_ref-18">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20151222115409/http://www.rssbus.com/jdbc/">"JDBC Drivers - CData Software"</a>. <i>CData Software</i>. Archived from <a rel="nofollow" class="external text" href="http://www.rssbus.com/jdbc/">the original</a> on 22 December 2015<span class="reference-accessdate">. Retrieved <span class="nowrap">22 March</span> 2018</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=CData+Software&amp;rft.atitle=JDBC+Drivers+-+CData+Software&amp;rft_id=http%3A%2F%2Fwww.rssbus.com%2Fjdbc%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+Database+Connectivity" class="Z3988"></span></span> </li> <li id="cite_note-datadirect-19"><span class="mw-cite-backlink"><b><a href="#cite_ref-datadirect_19-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.datadirect.com/products/features/data-connectivity/type-5-jdbc/index.html">"New Type 5 JDBC Driver&#160;— DataDirect Connect"</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=New+Type+5+JDBC+Driver+%E2%80%94+DataDirect+Connect&amp;rft_id=http%3A%2F%2Fwww.datadirect.com%2Fproducts%2Ffeatures%2Fdata-connectivity%2Ftype-5-jdbc%2Findex.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+Database+Connectivity" class="Z3988"></span></span> </li> <li id="cite_note-20"><span class="mw-cite-backlink"><b><a href="#cite_ref-20">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://iprodeveloper.com/rpg-programming/access-external-databases-rpg-jdbcr4">"Access External Databases from RPG with JDBCR4 Meat of the Matter"</a>. 28 June 2012<span class="reference-accessdate">. Retrieved <span class="nowrap">12 April</span> 2016</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Access+External+Databases+from+RPG+with+JDBCR4+Meat+of+the+Matter&amp;rft.date=2012-06-28&amp;rft_id=http%3A%2F%2Fiprodeveloper.com%2Frpg-programming%2Faccess-external-databases-rpg-jdbcr4&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+Database+Connectivity" class="Z3988"></span></span> </li> <li id="cite_note-schemacrawler-21"><span class="mw-cite-backlink"><b><a href="#cite_ref-schemacrawler_21-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFSualeh_Fatehi" class="citation web cs1">Sualeh Fatehi. <a rel="nofollow" class="external text" href="https://github.com/schemacrawler/SchemaCrawler">"SchemaCrawler"</a>. <i>GitHub</i>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=GitHub&amp;rft.atitle=SchemaCrawler&amp;rft.au=Sualeh+Fatehi&amp;rft_id=https%3A%2F%2Fgithub.com%2Fschemacrawler%2FSchemaCrawler&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+Database+Connectivity" class="Z3988"></span></span> </li> </ol></div></div> <div class="mw-heading mw-heading2"><h2 id="References">References</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java_Database_Connectivity&amp;action=edit&amp;section=9" title="Edit section: References"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFBai2022" class="citation book cs1">Bai, Ying (2022). <i>SQL Server Database Programming with Java</i>. Cham: <a href="/wiki/Springer_International_Publishing" class="mw-redirect" title="Springer International Publishing">Springer International Publishing</a>. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1007%2F978-3-031-06553-8">10.1007/978-3-031-06553-8</a>. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-3-030-92686-1" title="Special:BookSources/978-3-030-92686-1"><bdi>978-3-030-92686-1</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=SQL+Server+Database+Programming+with+Java&amp;rft.place=Cham&amp;rft.pub=Springer+International+Publishing&amp;rft.date=2022&amp;rft_id=info%3Adoi%2F10.1007%2F978-3-031-06553-8&amp;rft.isbn=978-3-030-92686-1&amp;rft.aulast=Bai&amp;rft.aufirst=Ying&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+Database+Connectivity" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFHorstmann2022" class="citation book cs1">Horstmann, Cay (April 15, 2022). <i>Core Java</i>. Oracle Press Java. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-0-13-787107-0" title="Special:BookSources/978-0-13-787107-0"><bdi>978-0-13-787107-0</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Core+Java&amp;rft.pub=Oracle+Press+Java&amp;rft.date=2022-04-15&amp;rft.isbn=978-0-13-787107-0&amp;rft.aulast=Horstmann&amp;rft.aufirst=Cay&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AJava+Database+Connectivity" class="Z3988"></span></li></ul> <div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Java_Database_Connectivity&amp;action=edit&amp;section=10" title="Edit section: External links"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1235681985">.mw-parser-output .side-box{margin:4px 0;box-sizing:border-box;border:1px solid #aaa;font-size:88%;line-height:1.25em;background-color:var(--background-color-interactive-subtle,#f8f9fa);display:flow-root}.mw-parser-output .side-box-abovebelow,.mw-parser-output .side-box-text{padding:0.25em 0.9em}.mw-parser-output .side-box-image{padding:2px 0 2px 0.9em;text-align:center}.mw-parser-output .side-box-imageright{padding:2px 0.9em 2px 0;text-align:center}@media(min-width:500px){.mw-parser-output .side-box-flex{display:flex;align-items:center}.mw-parser-output .side-box-text{flex:1;min-width:0}}@media(min-width:720px){.mw-parser-output .side-box{width:238px}.mw-parser-output .side-box-right{clear:right;float:right;margin-left:1em}.mw-parser-output .side-box-left{margin-right:1em}}</style><style data-mw-deduplicate="TemplateStyles:r1237033735">@media print{body.ns-0 .mw-parser-output .sistersitebox{display:none!important}}@media screen{html.skin-theme-clientpref-night .mw-parser-output .sistersitebox img[src*="Wiktionary-logo-en-v2.svg"]{background-color:white}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .sistersitebox img[src*="Wiktionary-logo-en-v2.svg"]{background-color:white}}</style><div class="side-box side-box-right plainlinks sistersitebox"><style data-mw-deduplicate="TemplateStyles:r1126788409">.mw-parser-output .plainlist ol,.mw-parser-output .plainlist ul{line-height:inherit;list-style:none;margin:0;padding:0}.mw-parser-output .plainlist ol li,.mw-parser-output .plainlist ul li{margin-bottom:0}</style> <div class="side-box-flex"> <div class="side-box-image"><span class="noviewer" typeof="mw:File"><a href="/wiki/File:Commons-logo.svg" class="mw-file-description"><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/30px-Commons-logo.svg.png" decoding="async" width="30" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/45px-Commons-logo.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/59px-Commons-logo.svg.png 2x" data-file-width="1024" data-file-height="1376" /></a></span></div> <div class="side-box-text plainlist">Wikimedia Commons has media related to <span style="font-weight: bold; font-style: italic;"><a href="https://commons.wikimedia.org/wiki/Category:JDBC" class="extiw" title="commons:Category:JDBC">JDBC</a></span>.</div></div> </div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1235681985" /><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1237033735" /><div class="side-box side-box-right plainlinks sistersitebox"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1126788409" /> <div class="side-box-flex"> <div class="side-box-image"><span class="noviewer" typeof="mw:File"><a href="/wiki/File:Wikibooks-logo-en-noslogan.svg" class="mw-file-description"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/d/df/Wikibooks-logo-en-noslogan.svg/40px-Wikibooks-logo-en-noslogan.svg.png" decoding="async" width="40" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/d/df/Wikibooks-logo-en-noslogan.svg/60px-Wikibooks-logo-en-noslogan.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/d/df/Wikibooks-logo-en-noslogan.svg/80px-Wikibooks-logo-en-noslogan.svg.png 2x" data-file-width="400" data-file-height="400" /></a></span></div> <div class="side-box-text plainlist">Wikibooks has a book on the topic of: <i><b><a href="https://en.wikibooks.org/wiki/Java_Programming/Database_Programming" class="extiw" title="wikibooks:Java Programming/Database Programming">Java Programming/Database Programming</a></b></i></div></div> </div> <ul><li><a rel="nofollow" class="external text" href="https://docs.oracle.com/javase/8/docs/technotes/guides/jdbc">JDBC API Guide</a></li> <li><code><a rel="nofollow" class="external text" href="https://docs.oracle.com/en/java/javase/19/docs/api/java.sql/java/sql/package-summary.html">java.sql</a></code> API <a href="/wiki/Javadoc" title="Javadoc">Javadoc</a> documentation</li> <li><code><a rel="nofollow" class="external text" href="https://docs.oracle.com/en/java/javase/19/docs/api/java.sql/javax/sql/package-summary.html">javax.sql</a></code> API Javadoc documentation</li> <li><a rel="nofollow" class="external text" href="https://web.archive.org/web/20160111210342/http://orbroker.org/">O/R Broker</a> Scala JDBC framework</li> <li><a rel="nofollow" class="external text" href="http://www.hsqldb.org/doc/2.0/util-guide/sqltool-chapt.html">SqlTool</a> Open source, command-line, generic JDBC client utility. Works with any JDBC-supporting database.</li> <li><a rel="nofollow" class="external text" href="http://codeoftheday.blogspot.com/2012/12/java-database-connectivity-jdbc-url.html">JDBC URL Strings and related information of All Databases.</a></li></ul> <!-- NewPP limit report Parsed by mw‐web.codfw.main‐5886496d‐275xr Cached time: 20250317093655 Cache expiry: 2592000 Reduced expiry: false Complications: [vary‐revision‐sha1, show‐toc] CPU time usage: 0.377 seconds Real time usage: 0.520 seconds Preprocessor visited node count: 3184/1000000 Post‐expand include size: 45250/2097152 bytes Template argument size: 4001/2097152 bytes Highest expansion depth: 20/100 Expensive parser function count: 32/500 Unstrip recursion depth: 1/20 Unstrip post‐expand size: 87005/5000000 bytes Lua time usage: 0.204/10.000 seconds Lua memory usage: 7246960/52428800 bytes Number of Wikibase entities loaded: 1/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 450.775 1 -total 26.54% 119.650 1 Template:Reflist 20.56% 92.668 13 Template:Cite_web 18.48% 83.285 2 Template:Infobox 16.04% 72.294 1 Template:Short_description 14.32% 64.546 12 Template:Sfn 13.56% 61.113 1 Template:Infobox_software 10.07% 45.375 2 Template:Pagetype 8.76% 39.503 2 Template:Sister_project 8.47% 38.182 1 Template:Commons_category --> <!-- Saved in parser cache with key enwiki:pcache:26257672:|#|:idhash:canonical and timestamp 20250317093655 and revision id 1277926124. Rendering was triggered because: page-view --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?useformat=desktop&amp;type=1x1&amp;usesul3=0" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Retrieved from "<a dir="ltr" href="https://en.wikipedia.org/w/index.php?title=Java_Database_Connectivity&amp;oldid=1277926124">https://en.wikipedia.org/w/index.php?title=Java_Database_Connectivity&amp;oldid=1277926124</a>"</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Help:Category" title="Help:Category">Categories</a>: <ul><li><a href="/wiki/Category:JDK_components" title="Category:JDK components">JDK components</a></li><li><a href="/wiki/Category:Java_specification_requests" title="Category:Java specification requests">Java specification requests</a></li><li><a href="/wiki/Category:SQL_data_access" title="Category:SQL data access">SQL data access</a></li><li><a href="/wiki/Category:Database_APIs" title="Category:Database APIs">Database APIs</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden">Hidden categories: <ul><li><a href="/wiki/Category:Articles_with_short_description" title="Category:Articles with short description">Articles with short description</a></li><li><a href="/wiki/Category:Short_description_matches_Wikidata" title="Category:Short description matches Wikidata">Short description matches Wikidata</a></li><li><a href="/wiki/Category:Articles_with_example_Java_code" title="Category:Articles with example Java code">Articles with example Java code</a></li><li><a href="/wiki/Category:Commons_category_link_is_on_Wikidata" title="Category:Commons category link is on Wikidata">Commons category link is on Wikidata</a></li></ul></div></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> This page was last edited on 27 February 2025, at 14:18<span class="anonymous-show">&#160;(UTC)</span>.</li> <li id="footer-info-copyright">Text is available under the <a href="/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-ShareAlike_4.0_International_License" title="Wikipedia:Text of the Creative Commons Attribution-ShareAlike 4.0 International License">Creative Commons Attribution-ShareAlike 4.0 License</a>; additional terms may apply. By using this site, you agree to the <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use" class="extiw" title="foundation:Special:MyLanguage/Policy:Terms of Use">Terms of Use</a> and <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy" class="extiw" title="foundation:Special:MyLanguage/Policy:Privacy policy">Privacy Policy</a>. Wikipedia® is a registered trademark of the <a rel="nofollow" class="external text" href="https://wikimediafoundation.org/">Wikimedia Foundation, Inc.</a>, a non-profit organization.</li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy policy</a></li> <li id="footer-places-about"><a href="/wiki/Wikipedia:About">About Wikipedia</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Wikipedia:General_disclaimer">Disclaimers</a></li> <li id="footer-places-contact"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us">Contact Wikipedia</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Code of Conduct</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Developers</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/en.wikipedia.org">Statistics</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Cookie statement</a></li> <li id="footer-places-mobileview"><a href="//en.m.wikipedia.org/w/index.php?title=Java_Database_Connectivity&amp;mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile view</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><picture><source media="(min-width: 500px)" srcset="/static/images/footer/wikimedia-button.svg" width="84" height="29"><img src="/static/images/footer/wikimedia.svg" width="25" height="25" alt="Wikimedia Foundation" lang="en" loading="lazy"></picture></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><picture><source media="(min-width: 500px)" srcset="/w/resources/assets/poweredby_mediawiki.svg" width="88" height="31"><img src="/w/resources/assets/mediawiki_compact.svg" alt="Powered by MediaWiki" lang="en" width="25" height="25" loading="lazy"></picture></a></li> </ul> </footer> </div> </div> </div> <div class="vector-header-container vector-sticky-header-container"> <div id="vector-sticky-header" class="vector-sticky-header"> <div class="vector-sticky-header-start"> <div class="vector-sticky-header-icon-start vector-button-flush-left vector-button-flush-right" aria-hidden="true"> <button class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-sticky-header-search-toggle" tabindex="-1" data-event-name="ui.vector-sticky-search-form.icon"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </button> </div> <div role="search" class="vector-search-box-vue vector-search-box-show-thumbnail vector-search-box"> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail"> <form action="/w/index.php" id="vector-sticky-search-form" class="cdx-search-input cdx-search-input--has-end-button"> <div class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search Wikipedia"> <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <div class="vector-sticky-header-context-bar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-sticky-header-toc" class="vector-dropdown mw-portlet mw-portlet-sticky-header-toc vector-sticky-header-toc vector-button-flush-left" > <input type="checkbox" id="vector-sticky-header-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-sticky-header-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-sticky-header-toc-label" for="vector-sticky-header-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-sticky-header-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div class="vector-sticky-header-context-bar-primary" aria-hidden="true" ><span class="mw-page-title-main">Java Database Connectivity</span></div> </div> </div> <div class="vector-sticky-header-end" aria-hidden="true"> <div class="vector-sticky-header-icons"> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-talk-sticky-header" tabindex="-1" data-event-name="talk-sticky-header"><span class="vector-icon mw-ui-icon-speechBubbles mw-ui-icon-wikimedia-speechBubbles"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-subject-sticky-header" tabindex="-1" data-event-name="subject-sticky-header"><span class="vector-icon mw-ui-icon-article mw-ui-icon-wikimedia-article"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-history-sticky-header" tabindex="-1" data-event-name="history-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-history mw-ui-icon-wikimedia-wikimedia-history"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only mw-watchlink" id="ca-watchstar-sticky-header" tabindex="-1" data-event-name="watch-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-star mw-ui-icon-wikimedia-wikimedia-star"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-edit-sticky-header" tabindex="-1" data-event-name="wikitext-edit-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-wikiText mw-ui-icon-wikimedia-wikimedia-wikiText"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-ve-edit-sticky-header" tabindex="-1" data-event-name="ve-edit-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-edit mw-ui-icon-wikimedia-wikimedia-edit"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-viewsource-sticky-header" tabindex="-1" data-event-name="ve-edit-protected-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-editLock mw-ui-icon-wikimedia-wikimedia-editLock"></span> <span></span> </a> </div> <div class="vector-sticky-header-buttons"> <button class="cdx-button cdx-button--weight-quiet mw-interlanguage-selector" id="p-lang-btn-sticky-header" tabindex="-1" data-event-name="ui.dropdown-p-lang-btn-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-language mw-ui-icon-wikimedia-wikimedia-language"></span> <span>25 languages</span> </button> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive" id="ca-addsection-sticky-header" tabindex="-1" data-event-name="addsection-sticky-header"><span class="vector-icon mw-ui-icon-speechBubbleAdd-progressive mw-ui-icon-wikimedia-speechBubbleAdd-progressive"></span> <span>Add topic</span> </a> </div> <div class="vector-sticky-header-icon-end"> <div class="vector-user-links"> </div> </div> </div> </div> </div> <div class="mw-portlet mw-portlet-dock-bottom emptyPortlet" id="p-dock-bottom"> <ul> </ul> </div> <script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgHostname":"mw-web.codfw.main-554c98fbf9-dm4n6","wgBackendResponseTime":171,"wgPageParseReport":{"limitreport":{"cputime":"0.377","walltime":"0.520","ppvisitednodes":{"value":3184,"limit":1000000},"postexpandincludesize":{"value":45250,"limit":2097152},"templateargumentsize":{"value":4001,"limit":2097152},"expansiondepth":{"value":20,"limit":100},"expensivefunctioncount":{"value":32,"limit":500},"unstrip-depth":{"value":1,"limit":20},"unstrip-size":{"value":87005,"limit":5000000},"entityaccesscount":{"value":1,"limit":400},"timingprofile":["100.00% 450.775 1 -total"," 26.54% 119.650 1 Template:Reflist"," 20.56% 92.668 13 Template:Cite_web"," 18.48% 83.285 2 Template:Infobox"," 16.04% 72.294 1 Template:Short_description"," 14.32% 64.546 12 Template:Sfn"," 13.56% 61.113 1 Template:Infobox_software"," 10.07% 45.375 2 Template:Pagetype"," 8.76% 39.503 2 Template:Sister_project"," 8.47% 38.182 1 Template:Commons_category"]},"scribunto":{"limitreport-timeusage":{"value":"0.204","limit":"10.000"},"limitreport-memusage":{"value":7246960,"limit":52428800},"limitreport-logs":"anchor_id_list = table#1 {\n [\"CITEREFBai2022\"] = 1,\n [\"CITEREFGreenwaldStackowiakStern1999\"] = 1,\n [\"CITEREFHorstmann2022\"] = 1,\n [\"CITEREFSualeh_Fatehi\"] = 1,\n}\ntemplate_list = table#1 {\n [\"Cite book\"] = 3,\n [\"Cite web\"] = 13,\n [\"Code\"] = 11,\n [\"Commons category\"] = 1,\n [\"DEFAULTSORT:Database Connectivity\"] = 1,\n [\"Infobox software\"] = 1,\n [\"Java\"] = 10,\n [\"Javadoc\"] = 1,\n [\"Javadoc:SE\"] = 8,\n [\"Javadoc:SE-guide\"] = 3,\n [\"Main\"] = 1,\n [\"Reflist\"] = 1,\n [\"Sfn\"] = 12,\n [\"Short description\"] = 1,\n [\"Start date\"] = 1,\n [\"Wikibooks\"] = 1,\n}\narticle_whitelist = table#1 {\n}\nciteref_patterns = table#1 {\n}\n"},"cachereport":{"origin":"mw-web.codfw.main-5886496d-275xr","timestamp":"20250317093655","ttl":2592000,"transientcontent":false}}});});</script> <script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Article","name":"Java Database Connectivity","url":"https:\/\/en.wikipedia.org\/wiki\/Java_Database_Connectivity","sameAs":"http:\/\/www.wikidata.org\/entity\/Q722772","mainEntity":"http:\/\/www.wikidata.org\/entity\/Q722772","author":{"@type":"Organization","name":"Contributors to Wikimedia projects"},"publisher":{"@type":"Organization","name":"Wikimedia Foundation, Inc.","logo":{"@type":"ImageObject","url":"https:\/\/www.wikimedia.org\/static\/images\/wmf-hor-googpub.png"}},"datePublished":"2002-03-04T12:16:33Z","dateModified":"2025-02-27T14:18:20Z","headline":"API for Java"}</script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10