Java 如何使用JDBC連接數(shù)據(jù)庫(kù)
一、使用JDBC連接數(shù)據(jù)庫(kù)
1.使用JDBC-ODBC橋驅(qū)動(dòng)程序連接數(shù)據(jù)庫(kù)
基本步驟:
(1)加載并注冊(cè)數(shù)據(jù)庫(kù)驅(qū)動(dòng)
(2)通過(guò)DriverManager獲取數(shù)據(jù)庫(kù)連接
(3)通過(guò)Connection對(duì)象獲取Statement對(duì)象
(4)使用Statement接口執(zhí)行SQL語(yǔ)句
(5)操作ResultSet結(jié)果集
(6)關(guān)閉連接,釋放資源
2.下面進(jìn)行代碼演示
1.注冊(cè)數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序的語(yǔ)法格式如下:
DriverManager.registerDriver(Driver driver)
或者
Class.forName("DriverName");
2.創(chuàng)建數(shù)據(jù)庫(kù)連接
String url = "jdbc:odbc:student";
//student是在數(shù)據(jù)源管理器中創(chuàng)建的數(shù)據(jù)源名字
Connection con = DriverManager.getConnection(url);
//一下語(yǔ)句是采用了一種無(wú)數(shù)據(jù)源連接數(shù)據(jù)庫(kù)的方式
con=DriverManager.getConnection("jdbc:odbc:driver={Microsoft Access Driver(*.mdb)};
DBQ=d:\\xsgl.mdb")
3.獲取Statement對(duì)象
可見(jiàn)之前連載的三種成員方法創(chuàng)建Statement對(duì)象、PreparedStatement對(duì)象、CallableStatement對(duì)象
4.執(zhí)行SQL語(yǔ)句
所有的Statement都有以下三種執(zhí)行SQL語(yǔ)句的方法
(1)execute():可以執(zhí)行任何SQL語(yǔ)句
(2)executeQuery():執(zhí)行查詢(xún)語(yǔ)句,返回ResultSet對(duì)象
(3)executeUpate():執(zhí)行增刪改操作
5.獲得結(jié)果結(jié)合ResultSet對(duì)象,在進(jìn)行一系列操作。
舉例:
package com.bjpowernode.java_learning;
import java.sql.Statement;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
public class D134_1_JDBCConnection {
public static void main(String[] args) {
Statement stmt = null;
ResultSet rs = null;
Connection conn = null;
try {
//1.注冊(cè)數(shù)據(jù)庫(kù)的驅(qū)動(dòng)程序
Class.forName("com.hxtt.sql.access.AccessDriver");
//2.通過(guò)DriverManager獲取數(shù)據(jù)庫(kù)連接
conn = DriverManager.getConnection("jbdc:Access:///e:xsgl.mdb");
//3.通過(guò)Connection對(duì)象獲取Statement對(duì)象
stmt = conn.createStatement();
//4.使用Statement執(zhí)行SQL語(yǔ)句
String sql = "select * from studentInfo";
rs = stmt.executeQuery(sql);
//5.操作ResultSet結(jié)果集
System.out.println("studentID | studentName | studentSEX");
while(rs.next()) {
int id = rs.getInt("studentID");//通過(guò)列名獲取指定字段的值
String name = rs.getString("studentName");
String psw = rs.getString("studentSEX");
System.out.println(id + " | " + name + " | " + psw);
}
}catch(Exception e) {
e.printStackTrace();
}finally {
//6.回收數(shù)據(jù)庫(kù)資源
if (rs != null) {
try {
rs.close();
}catch(SQLException e) {
e.printStackTrace();
}
rs = null;
}
if(stmt != null) {
try {
stmt.close();
}catch(SQLException e) {
e.printStackTrace();
}
stmt = null;
}
if (conn != null) {
try {
conn.close();
}catch(SQLException e) {
e.printStackTrace();
}
conn = null;
}
}
}
}
3.注意點(diǎn)
- JDK1.7以后的版本不再包含Access橋接驅(qū)動(dòng)程序,因此不再支持JDBC-ODBC橋接方式,需要下載Access驅(qū)動(dòng)程序的jar包(Access_JDBC30.jar),而JDK1.1到JDK1.6都自帶jar包,不需要下載。
- 下載完成后把Access_JDBC30.jar包放到JDK的lib文件夾里,之后修改環(huán)境變量CLASSPATH,在其中加上這個(gè)jar包,路徑為jar包的絕對(duì)路徑,例如:C:\ProgramFiles\Java\jre1.8.0_65\lib\Access_JDBC30.jar。如果CLASSPATH中已經(jīng)有了其他的值,最后添加該包就可以了。然后再工程里面設(shè)置好,至此就可以正常連接數(shù)據(jù)庫(kù)了,但是驅(qū)動(dòng)的名稱(chēng)就不是sun.jdbc.odbc.JdbcOdbcDriver,而是com.hxtt.sql.access.AccessDriver,數(shù)據(jù)庫(kù)路徑也可以采用直連,URL可以設(shè)置為jdbc:Access:///d:MYDB.accdb。
二、源碼:
D134_1_JDBCConnection.java
https://github.com/ruigege66/Java/blob/master/D134_1_JDBCConnection.java
以上就是Java 如何使用JDBC連接數(shù)據(jù)庫(kù)的詳細(xì)內(nèi)容,更多關(guān)于Java 使用JDBC連接數(shù)據(jù)庫(kù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- Java連接MySQL數(shù)據(jù)庫(kù)實(shí)例
- Java使用JDBC連接數(shù)據(jù)庫(kù)的詳細(xì)步驟
- 詳解Java使用JDBC連接MySQL數(shù)據(jù)庫(kù)
- Java使用JDBC連接數(shù)據(jù)庫(kù)
- Java使用JNDI連接數(shù)據(jù)庫(kù)的實(shí)現(xiàn)方法
- Java連接MySQL數(shù)據(jù)庫(kù)命令行程序過(guò)程
- 詳細(xì)說(shuō)明關(guān)于Java的數(shù)據(jù)庫(kù)連接(JDBC)
- 一篇文章帶你了解java數(shù)據(jù)庫(kù)連接
- 詳解Java數(shù)據(jù)庫(kù)連接池
- Java基礎(chǔ)之JDBC的數(shù)據(jù)庫(kù)連接與基本操作
- Java 數(shù)據(jù)庫(kù)連接(JDBC)的相關(guān)總結(jié)
- Java連接數(shù)據(jù)庫(kù)的步驟介紹
相關(guān)文章
Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(31)
下面小編就為大家?guī)?lái)一篇Java基礎(chǔ)的幾道練習(xí)題(分享)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧,希望可以幫到你2021-07-07
如何利用Java正則表達(dá)式校驗(yàn)密碼規(guī)則
正則表達(dá)式正則表達(dá)式是用來(lái)指定字符串模式的,可以方便的處理文本信息,這篇文章主要給大家介紹了關(guān)于如何利用Java正則表達(dá)式校驗(yàn)密碼規(guī)則的相關(guān)資料,需要的朋友可以參考下2022-09-09
基于IDEA創(chuàng)建SpringMVC項(xiàng)目流程圖解
這篇文章主要介紹了基于IDEA創(chuàng)建SpringMVC項(xiàng)目流程圖解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10
springboot框架阿里開(kāi)源低代碼工具LowCodeEngine
這篇文章主要為大家介紹了springboot框架阿里開(kāi)源低代碼LowCodeEngine工具使用詳解有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
java文件如何統(tǒng)計(jì)字母出現(xiàn)的次數(shù)和百分比
這篇文章主要介紹了java文件如何統(tǒng)計(jì)字母出現(xiàn)的次數(shù)和百分比,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11
IDEA連接MySQL后管理數(shù)據(jù)庫(kù)的操作指南
本節(jié)就來(lái)教大家如何在IDEA連接MySQL后管理數(shù)據(jù)庫(kù)(創(chuàng)建/修改/刪除數(shù)據(jù)庫(kù)、創(chuàng)建/修改/刪除表、插入/更新/刪除/查詢(xún)表記錄),文中通過(guò)圖文結(jié)合的方式給大家講解的非常詳細(xì),需要的朋友可以參考下2024-05-05
java必學(xué)必會(huì)之線(xiàn)程(1)
java必學(xué)必會(huì)之線(xiàn)程第一篇,介紹了線(xiàn)程的基本概念、線(xiàn)程的創(chuàng)建和啟動(dòng),想要學(xué)好java線(xiàn)程的朋友一定要好好閱讀這篇文章2015-12-12
SpringBoot中的ExpiringMap代碼實(shí)例
這篇文章主要介紹了SpringBoot中的ExpiringMap代碼實(shí)例,ExpiringMap是一個(gè)可以設(shè)置過(guò)期策略、可變條目過(guò)期、延遲條目加載和過(guò)期偵聽(tīng)器的線(xiàn)程安全存儲(chǔ)容器,需要的朋友可以參考下2023-08-08

