新聞中心
在進(jìn)行 Java 應(yīng)用程序開(kāi)發(fā)時(shí),經(jīng)常需要與數(shù)據(jù)庫(kù)進(jìn)行交互。Java 開(kāi)發(fā)者可以通過(guò) Java 數(shù)據(jù)庫(kù)連接(Java Database Connectivity,簡(jiǎn)稱(chēng) JDBC)來(lái)實(shí)現(xiàn)與數(shù)據(jù)庫(kù)的交互操作。本篇文章將介紹 Java 數(shù)據(jù)庫(kù)連接的使用,為 Java 開(kāi)發(fā)者提供一份簡(jiǎn)易指南。

一、 JDBC 概述
JDBC 是 Java 語(yǔ)言中訪問(wèn)關(guān)系型數(shù)據(jù)庫(kù)的一種標(biāo)準(zhǔn) Java API。JDBC 提供了一組操作數(shù)據(jù)庫(kù)的接口,能夠方便地進(jìn)行數(shù)據(jù)庫(kù)的連接、查詢(xún)、更新和操作。
JDBC 提供了一種通用接口,不受特定數(shù)據(jù)庫(kù)的限制,也不需要訪問(wèn)不同數(shù)據(jù)庫(kù)的不同 API。使用 JDBC,可將數(shù)據(jù)庫(kù)的具體操作分離出來(lái),更易于開(kāi)發(fā)和維護(hù)。
二、 JDBC 驅(qū)動(dòng)
JDBC 驅(qū)動(dòng)是 JDBC 連接數(shù)據(jù)庫(kù)的重要組成部分。JDBC 驅(qū)動(dòng)類(lèi)型分為四類(lèi),依次為:
1. JDBC-ODBC 橋接器驅(qū)動(dòng)(Bridge Driver):該驅(qū)動(dòng)使用 ODBC(Open Database Connectivity)橋接器連接數(shù)據(jù)庫(kù),需要安裝 ODBC 驅(qū)動(dòng)和 ODBC 數(shù)據(jù)源才能使用。該驅(qū)動(dòng)已經(jīng)過(guò)時(shí),一般不再使用。
2. 原生 API 驅(qū)動(dòng)(Native Driver):該驅(qū)動(dòng)在數(shù)據(jù)庫(kù)廠商提供的 API 上開(kāi)發(fā),由數(shù)據(jù)庫(kù)廠商提供,具有較好的性能。每種數(shù)據(jù)庫(kù)都有不同的驅(qū)動(dòng)包,需要手動(dòng)下載并配置。
3. 網(wǎng)絡(luò)協(xié)議驅(qū)動(dòng)(Network Protocol Driver):該驅(qū)動(dòng)使用數(shù)據(jù)庫(kù)通用的網(wǎng)絡(luò)協(xié)議(如 TCP/IP)連接數(shù)據(jù)庫(kù)。在客戶(hù)端和服務(wù)器之間建立網(wǎng)絡(luò)連接,效率比較高。
4. JDBC-ODBC 橋接器驅(qū)動(dòng)(Type 4 Driver):該驅(qū)動(dòng)是一種純 Java 的驅(qū)動(dòng),將 JDBC 操作轉(zhuǎn)化為對(duì)本地 ODBC 數(shù)據(jù)源的調(diào)用,不需要安裝 ODBC 驅(qū)動(dòng)和 ODBC 數(shù)據(jù)源。該驅(qū)動(dòng)需要用到 Native Driver 中提供的 API。
根據(jù)實(shí)際業(yè)務(wù)需要使用相應(yīng)的 JDBC 驅(qū)動(dòng)。
三、 JDBC 連接數(shù)據(jù)庫(kù)
JDBC 連接數(shù)據(jù)庫(kù)主要包含如下步驟:
1. 加載數(shù)據(jù)庫(kù)驅(qū)動(dòng):Java 應(yīng)用程序加載 JDBC 驅(qū)動(dòng),以便與數(shù)據(jù)庫(kù)建立連接。在 JDK 1.6 之前,需手動(dòng)加載驅(qū)動(dòng)程序,使用 Class 類(lèi)的 forName() 方法加載驅(qū)動(dòng)。在 JDK 1.6 之后,會(huì)自動(dòng)加載合適的數(shù)據(jù)庫(kù)驅(qū)動(dòng),無(wú)需手動(dòng)加載。
2. 建立數(shù)據(jù)庫(kù)連接:在加載數(shù)據(jù)庫(kù)驅(qū)動(dòng)后,可調(diào)用 DriverManager 類(lèi)的 getConnection() 方法建立與數(shù)據(jù)庫(kù)的連接。getConnection() 方法需要傳入數(shù)據(jù)庫(kù)連接 URL、用戶(hù)名和密碼三個(gè)參數(shù),語(yǔ)法如下所示:
Connection conn = DriverManager.getConnection(url, user, password);
3. 創(chuàng)建 Statement 對(duì)象:Connection 對(duì)象代表與數(shù)據(jù)庫(kù)的連接,可創(chuàng)建 Statement 或 PreparedStatement 對(duì)象。Statement 用于執(zhí)行一條 SQL 語(yǔ)句,PreparedStatement 可以預(yù)編譯 SQL 語(yǔ)句,提高效率。
Statement stmt = conn.createStatement();
PreparedStatement pstmt = conn.prepareStatement(sql);
4. 執(zhí)行 SQL 語(yǔ)句:在建立數(shù)據(jù)庫(kù)連接并創(chuàng)建 Statement 或 PreparedStatement 對(duì)象后,可以執(zhí)行 SQL 語(yǔ)句并獲取查詢(xún)結(jié)果或更新數(shù)據(jù)庫(kù)。
ResultSet rs = stmt.executeQuery(sql);
int count = pstmt.executeUpdate(sql);
5. 關(guān)閉連接:在所有操作完成之后,需要手動(dòng)關(guān)閉與數(shù)據(jù)庫(kù)的連接。
rs.close();
stmt.close();
conn.close();
四、 JDBC 實(shí)例
下面是一個(gè)簡(jiǎn)單的 JDBC 實(shí)例,演示了如何連接 MySQL 數(shù)據(jù)庫(kù)并執(zhí)行查詢(xún)操作。
1. 加載 MySQL 驅(qū)動(dòng):
Class.forName(“com.mysql.jdbc.Driver”);
2. 建立數(shù)據(jù)庫(kù)連接:
String url = “jdbc:mysql://localhost:3306/test”;
String user = “root”;
String password = “root”;
Connection conn = DriverManager.getConnection(url, user, password);
3. 創(chuàng)建 Statement 對(duì)象:
Statement stmt = conn.createStatement();
4. 執(zhí)行 SQL 語(yǔ)句查詢(xún):
String sql = “SELECT * FROM user”;
ResultSet rs = stmt.executeQuery(sql);
5. 遍歷查詢(xún)結(jié)果:
while(rs.next()) {
System.out.println(rs.getString(“id”) + “\t” + rs.getString(“name”));
}
6. 關(guān)閉連接:
rs.close();
stmt.close();
conn.close();
以上示例演示了如何使用 JDBC 連接 MySQL 數(shù)據(jù)庫(kù)并查詢(xún) user 表的數(shù)據(jù),展示了 JDBC 的基本用法。
相信通過(guò)本篇文章的介紹,讀者已經(jīng)了解了 JDBC 的概念、驅(qū)動(dòng)類(lèi)型、連接步驟以及簡(jiǎn)單實(shí)例。希望讀者能夠在實(shí)際開(kāi)發(fā)中運(yùn)用 JDBC 進(jìn)行數(shù)據(jù)庫(kù)交互,實(shí)現(xiàn)更加高效便捷的業(yè)務(wù)功能。
相關(guān)問(wèn)題拓展閱讀:
- Java如何連接access數(shù)據(jù)庫(kù)
Java如何連接access數(shù)據(jù)庫(kù)
access。。。用一個(gè)好一點(diǎn)的數(shù)據(jù)庫(kù)阿,sql
server2023/2023很行孝好的,可以有數(shù)據(jù)源也可以沒(méi)有數(shù)據(jù)源。功能檔沒(méi)稿很強(qiáng)大的,察拆access有時(shí)候會(huì)碰到尷尬的事的。我做系統(tǒng)用了access
把我氣得差點(diǎn)暈過(guò)去。
1 創(chuàng)建數(shù)據(jù)源控制面板–性能與維護(hù)–管理工具–數(shù)據(jù)源或者控制面板–ODBC,在ODBC數(shù)據(jù)源管理器中選擇“用戶(hù)DSN”,選擇添加,將出現(xiàn)選擇安裝數(shù)據(jù)源驅(qū)動(dòng)程序的對(duì)話(huà)框。選擇Microsoft Access Driver(*.mdb)并完成。將彈出“創(chuàng)建數(shù)據(jù)源”對(duì)話(huà)框。為創(chuàng)建的數(shù)據(jù)源取名,例如sun。選擇數(shù)據(jù)庫(kù)也就是Access文件的存放地址(最伍搜胡好不要存在中文)。如果要設(shè)置login name或者password則選漏耐擇高級(jí),不需要直接確定。2 建立JDBC-ODBC橋接器建立橋接器:try{Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);//(sun為數(shù)據(jù)源的名字,見(jiàn)1)}catch(ClassNotFoundException e){}3 連接到數(shù)據(jù)庫(kù)腔攔使用java.sql包中的Connection類(lèi)聲明的一個(gè)對(duì)象,使用DriverManager調(diào)用它的靜態(tài)方法getConnection創(chuàng)建對(duì)象try{Connection con=DriverManager.getConnection(“jdbc:odbc:數(shù)據(jù)源名字”,”login name”,”password”);//(如果不存在login name 和password,則使用雙引號(hào)表示即可””)}catch(SQLException e){}即可完成于access的連接。希望對(duì)你有用,望采納!
import java.sql.*;
public class ConnectAccess {
/**
* 初學(xué)鄭高者請(qǐng)注意:
* 1:先建立一個(gè)access文件a1.mdb,并放在D:/下;
* 2:在數(shù)據(jù)庫(kù)文件a1.mdb中建立一個(gè)表Table1;
* 3:為T(mén)able1添加一列,并插入至少一條記錄;
* 4:本文是一個(gè)完整的類(lèi),直接拿去運(yùn)行就可以。
*/
public static void main(String args) throws Exception {
ConnectAccess ca=new ConnectAccess();
ca.ConnectAccessFile();
ca.ConnectAccessDataSource();
}
public void ConnectAccessFile() throws Exception
{
Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
/**
* 直接連接access文件。
*/
String dbur1 = “jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=
Connection conn = DriverManager.getConnection(dbur1, “username”, “尺叢戚password”);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(“select * from Table1”);
while (rs.next()) {
System.out.println(rs.getString(1));
}
rs.close();
stmt.close();
conn.close();
}
public void ConnectAccessDataSource()throws Exception {
Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
/**
* 采用ODBC連接方式 如何建立ODBC連接?
* 答:在windows下,【開(kāi)始】->【控制面板】->【性能和維護(hù)】->【管理工具】->【數(shù)據(jù)源】,在數(shù)據(jù)源這里添加一個(gè)指向a1.mdb文件的數(shù)據(jù)源。
* 比如創(chuàng)建名字為dataS1
*/
String dbur1 = “jdbc:odbc:dataS1”;// 此為ODBC連接方式
Connection conn = DriverManager.getConnection(dbur1, “username”, “password”);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(“select * from Table1”);
while (rs.next()) {
System.out.println(rs.getString(1));
}
rs.close();
stmt.close();
conn.close();
}
1 先建立一個(gè)access文件a1.mdb,并放在D:/下;
在數(shù)據(jù)庫(kù)文件a1.mdb中建立一碼氏攔個(gè)表Table1;
為T(mén)able1添加一列,并插入至少一條記錄;
一個(gè)完整的類(lèi),直接拿去運(yùn)行就核納可以。
import java.sql.*;
public class ConnectAccess {
public static void main(String args) throws Exception {
ConnectAccess ca=new ConnectAccess();
ca.ConnectAccessFile();
ca.ConnectAccessDataSource();
}
public void ConnectAccessFile() throws Exception
{
Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
/**
* 直接連接access文件。
*/
String dbur1 = “jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=
Connection conn = DriverManager.getConnection(dbur1, “username”, “password”遲胡);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(“select * from Table1”);
while (rs.next()) {
System.out.println(rs.getString(1));
}
rs.close();
stmt.close();
conn.close();
}
public void ConnectAccessDataSource()throws Exception {
Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
String dbur1 = “jdbc:odbc:dataS1”;// 此為ODBC連接方式
Connection conn = DriverManager.getConnection(dbur1, “username”, “password”);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(“select * from Table1”);
while (rs.next()) {
System.out.println(rs.getString(1));
}
rs.close();
stmt.close();
conn.close();
}
}
關(guān)于java文件連接數(shù)據(jù)庫(kù)的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
成都創(chuàng)新互聯(lián)建站主營(yíng):成都網(wǎng)站建設(shè)、網(wǎng)站維護(hù)、網(wǎng)站改版的網(wǎng)站建設(shè)公司,提供成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、成都網(wǎng)站推廣、成都網(wǎng)站優(yōu)化seo、響應(yīng)式移動(dòng)網(wǎng)站開(kāi)發(fā)制作等網(wǎng)站服務(wù)。
當(dāng)前題目:Java數(shù)據(jù)庫(kù)連接簡(jiǎn)易指南(java文件連接數(shù)據(jù)庫(kù))
標(biāo)題網(wǎng)址:http://www.fisionsoft.com.cn/article/cdheesp.html


咨詢(xún)
建站咨詢(xún)
