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í)行查詢語(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)的名稱就不是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使用TCP套接字實(shí)現(xiàn)多人聊天功能詳解
這篇文章主要介紹了Java使用TCP套接字實(shí)現(xiàn)多人聊天功能,結(jié)合實(shí)例形式詳細(xì)分析了java使用socket通信實(shí)現(xiàn)tcp協(xié)議下的聊天功能客戶端與服務(wù)器端相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-10-10

IDEA中springboot的熱加載thymeleaf靜態(tài)html頁(yè)面的方法

AntDesign多環(huán)境配置啟動(dòng)過(guò)程詳解

Spring Boot Logging Level設(shè)置為off時(shí)的Bug

Java 根據(jù)某個(gè) key 加鎖的實(shí)現(xiàn)方式