本文實(shí)例講述了java基于jdbc連接mysql數(shù)據(jù)庫(kù)的方法。分享給大家供大家參考,具體如下:
成都創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿(mǎn)足客戶(hù)于互聯(lián)網(wǎng)時(shí)代的香格里拉網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!一、JDBC簡(jiǎn)介
Java 數(shù)據(jù)庫(kù)連接,(Java Database Connectivity,簡(jiǎn)稱(chēng)JDBC)是Java語(yǔ)言中用來(lái)規(guī)范客戶(hù)端程序如何來(lái)訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)的應(yīng)用程序接口,提供了諸如查詢(xún)和更新數(shù)據(jù)庫(kù)中數(shù)據(jù)的方法。JDBC也是Sun Microsystems的商標(biāo)。它JDBC是面向關(guān)系型數(shù)據(jù)庫(kù)的。
1、JDBC架構(gòu):
JDBC API支持兩層和三層處理模型進(jìn)行數(shù)據(jù)庫(kù)訪(fǎng)問(wèn),但在一般的JDBC體系結(jié)構(gòu)由兩層組成:
JDBC API: 提供了應(yīng)用程序?qū)DBC的管理連接;
JDBC Driver API: 支持JDBC管理到驅(qū)動(dòng)器連接;
JDBC API的使用驅(qū)動(dòng)程序管理器和數(shù)據(jù)庫(kù)特定的驅(qū)動(dòng)程序提供透明的連接到異構(gòu)數(shù)據(jù)庫(kù);
JDBC驅(qū)動(dòng)程序管理器可確保正確的驅(qū)動(dòng)程序來(lái)訪(fǎng)問(wèn)每個(gè)數(shù)據(jù)源,該驅(qū)動(dòng)程序管理器能夠支持連接到多個(gè)異構(gòu)數(shù)據(jù)庫(kù)的多個(gè)并發(fā)的驅(qū)動(dòng)程序;
以下是結(jié)構(gòu)圖,它顯示了驅(qū)動(dòng)程序管理器方面的JDBC驅(qū)動(dòng)程序和Java應(yīng)用程序的位置:
2、常見(jiàn)的JDBC組件:
JDBC API提供了以下接口和類(lèi):
DriverManager: 這個(gè)類(lèi)管理數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序的列表,內(nèi)容是否符合從Java應(yīng)用程序使用的通信子協(xié)議正確的數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序的連接請(qǐng)求,識(shí)別JDBC在一定子協(xié)議的第一個(gè)驅(qū)動(dòng)器將被用來(lái)建立數(shù)據(jù)庫(kù)連接;
Driver: 此接口處理與數(shù)據(jù)庫(kù)服務(wù)器通信,很少直接與驅(qū)動(dòng)程序?qū)ο螅喾?,使用DriverManager中的對(duì)象,它管理此類(lèi)型的對(duì)象,它也抽象與驅(qū)動(dòng)程序?qū)ο蠊ぷ飨嚓P(guān)的詳細(xì)信息;
Connection : 此接口與接觸數(shù)據(jù)庫(kù)的所有方法,連接對(duì)象表示通信上下文,即,與數(shù)據(jù)庫(kù)中的所有的通信是通過(guò)唯一的連接對(duì)象;
Statement : 可以使用這個(gè)接口創(chuàng)建的對(duì)象的SQL語(yǔ)句提交到數(shù)據(jù)庫(kù),一些派生的接口接受除執(zhí)行存儲(chǔ)過(guò)程的參數(shù);
ResultSet: 這些對(duì)象保存從數(shù)據(jù)庫(kù)后,執(zhí)行使用Statement對(duì)象的SQL查詢(xún)中檢索數(shù)據(jù),它作為一個(gè)迭代器,讓您可以通過(guò)移動(dòng)它的數(shù)據(jù);
SQLException: 這個(gè)類(lèi)處理發(fā)生在一個(gè)數(shù)據(jù)庫(kù)應(yīng)用程序的任何錯(cuò)誤.
二、連接JDBC需要掌握的基本知識(shí)
1、數(shù)據(jù)庫(kù)的基本操作,
eg:Mysql的安裝和基本操作(insert,delete,update,query)
2、java開(kāi)發(fā)工具的使用,
eg:Eclipse/MyEclipse (包括mysql-connector-java-5.0.3-bin.jar的導(dǎo)入)
三、JDBC的連接及代碼演示
1、JDBC連接工具類(lèi)
1)、Configuration.java:可以從.xml文件中連接數(shù)據(jù)庫(kù)的配置信息,需要引入dom4j-1.6.1.jar包
package cn.java.jdbc; import java.io.InputStream; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.Element; import org.dom4j.io.SAXReader; public class Configuration { private String url; private String driver; private String username; private String password; public Configuration() { } public Configuration(String url, String driver, String username, String password) { super(); this.url = url; this.driver = driver; this.username = username; this.password = password; } public static Configuration getConfigure() { try { InputStream in = Configuration.class.getResourceAsStream("/db.xml"); if (null!=in) { return load(in); } return null; } catch (DocumentException e) { e.printStackTrace(); return null; } } private static Configuration load(InputStream in) throws DocumentException { SAXReader reader = new SAXReader(); Document doc = reader.read(in); Element jdbc = doc.getRootElement(); String url = jdbc.element("url").getText(); String driver = jdbc.element("driver").getText(); String username = jdbc.element("username").getText(); String password = jdbc.element("password").getText(); Configuration cfg = new Configuration(url, driver, username, password); return cfg; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } public String getDriver() { return driver; } public void setDriver(String driver) { this.driver = driver; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }