用java怎樣訪問資料庫(java 訪問資料庫)

本文目錄一覽:

JAVA訪問資料庫的4種方法

1)JDBC-ODBC橋加ODBC驅動程序

JavaSoft橋產品利用ODBC驅動程序提供JDBC訪問。注意,必須將ODBC二進位代碼(許多情況下還包括資料庫客戶機代碼)載入到使用該驅動程序的每個客戶機上。因此,這種類型的驅動程序最適合於企業網(這種網路上客戶機的安裝不是主要問題),或者是用Java編寫的三層結構的應用程序伺服器代碼。

(2)本地API

這種類型的驅動程序把客戶機API上的JDBC調用轉換為Oracle、Sybase、Informix、DB2或其它DBMS的調用。注意,象橋驅動程序一樣,這種類型的驅動程序要求將某些二進位代碼載入到每台客戶機上。

(3)JDBC網路純Java驅動程序

這種驅動程序將JDBC轉換為與DBMS無關的網路協議,之後這種協議又被某個伺服器轉換為一種DBMS協議。這種網路伺服器中間件能夠將它的純Java客戶機連接到多種不同的資料庫上。所用的具體協議取決於提供者。通常,這是最為靈活的JDBC驅動程序。有可能所有這種解決方案的提供者都提供適合於Intranet用的產品。為了使這些產品也支持Internet訪問,它們必須處理Web所提出的安全性、通過防火牆的訪問等方面的額外要求。幾家提供者正將JDBC驅動程序加到他們現有的資料庫中間件產品中。

(4)本地協議純Java驅動程序

這種類型的驅動程序將JDBC調用直接轉換為DBMS所使用的網路協議。這將允許從客戶機機器上直接調用DBMS伺服器,是Intranet訪問的一個很實用的解決方法。由於許多這樣的協議都是專用的,因此資料庫提供者自己將是主要來源,有幾家提供者已在著手做這件事了。

據專家預計第(3)、(4)類驅動程序將成為從JDBC訪問資料庫的首方法。第(1)、(2)類驅動程序在直接的純Java驅動程序還沒有上市前會作為過渡方案來使用。對第(1)、(2)類驅動程序可能會有一些變種,這些變種要求有連接器,但通常這些是更加不可取的解決方案。第(3)、(4)類驅動程序提供了Java的所有優點,包括自動安裝(例如,通過使用JDBC驅動程序的appletapplet來下載該驅動程序)。

如何使用Java訪問MySQL資料庫

第1步 獲取Java與MySQL的連接器

第2步 將下載的包存放在自己機器上jdk安裝目錄下面的jre目錄下面的lib目錄下面的ext目錄中,在程序中導入與資料庫操作相關的對象

import java.sql.Connection; //導入資料庫連接對象

import java.sql.DriverManager; //導入資料庫驅動管理對象

import java.sql.ResultSet; //導入數據記錄集對象

import java.sql.SQLException; //導入數據SQL操作異常對象

import java.sql.Statement; //導入SQL操作介面對象

第3步:在程序中寫入如下內容

String url; //連接資料庫的字元串

String sql; //執行數據sql查詢操作的字元串

Connection conn; //資料庫連接變數

Statement st; //資料庫操作對象

ResultSet rs; //數據記錄集對象

url = “jdbc:mysql://localhost:3306/test?user=rootpassword=”; //在程序中只要修改這句,就可以實現資料庫連接

try {

conn = DriverManager.getConnection(url);

st = conn.createStatement();

sql = “select * from test”; //只要修改這句,就可以實現各種查詢操作

rs=st.executeQuery(sql); //執行數據查詢

while(rs.next())

{

System.out.println(rs.getString(1)); //獲得數據表test中第1個欄位的數據,該欄位為字元串類型

System.out.println(rs.getString(2)); //獲得數據表test中第2個欄位的數據,該欄位為字元串類型

}

rs.close(); //關閉數據記錄集

conn.close(); //關閉資料庫連接

} catch (SQLException e) {

System.out.println(“Error:”+e.toString()+e.getMessage());

}

Java 如何進行資料庫訪問的

1. 載入一個對應資料庫的JDBC驅動

在建立到一個資料庫的連接之前,必須先載入這個資料庫的JDBC驅動程序,載入之後此driver會自動註冊到JDBC驅動列表中。載入一個JDBC驅動有兩種方法。

a) 在命令行方式下指定驅動器或者用冒號分割驅動器列表:

具體命令如下:

C:\java –Djdbc.drivers = com.company1.Driver:com.company2.Driver youProject

b)第二種方法,在程序中調用Class.forName()方法。推薦使用。。。。

try

{

String driverName = 「com.imaginary.sql.msql.MsqlDriver」;

Class.forName(driverName).newInstance();

}

Catch(ClassNotFoundException e1)

{

//catch could not find database driver exception.

}

2.連接到資料庫。

根據您後台待連接的資料庫不同,而有小小的差別。

a) 連接到Oracle資料庫。

Connection connection = null ;

try

{

//load the jdbc driver ;

String driverName = 「oracle.jdbc.driver.OracleDriver」;

Class.forName(driverName).newInstance();

//create a connection to the database;

String serverName = 「127.0.0.1」;

String serverPort = 「1521」;

String serverID = 「datebase1」

String userName = 「hello」;

String userPsw = 「world」;

String url = 「jdbc:oracle.thin:@」 + serverName + 「:」 + serverPort + 「:」 + serverID ;

Connection = DriverManager.getConnection(url , userName , userPsw);

}

catch(ClassNotFoundException e1)

{

//catch could not find database driver exception.

}

catch(SQLException e2)

{

//catch could not connect to the database exception.

}

b) 連接到一個SQL Server資料庫。

Connection connection = null ;

try

{

//load the jdbc driver ;

String driverName = 「com.microsoft.jdbc.sqlserver.SQLServerDriver」;

Class.forName(driverName).newInstance();

//create a connection to the database;

String serverName = 「127.0.0.1」;

String serverPort = 「1433」;

String serverID = serverName + serverPort ;

String userName = 「hello」;

String userPsw = 「world」;

String url = 「jdbc:JSQLConnect ://」 + serverID ;

Connection = DriverManager.getConnection(url , userName , userPsw);

}

catch(ClassNotFoundException e1)

{

//catch could not find database driver exception.

}

catch(SQLException e2)

{

//catch could not connect to the database exception.

}

c) 連接到一個MySQL資料庫上。。。。

Connection connection = null ;

try

{

//load the jdbc driver ;

String driverName = 「org.gjt.mm.mysql.Driver」;

Class.forName(driverName).newInstance();

//create a connection to the database;

String serverName = 「127.0.0.1」;

String serverID = 「database」;

String userName = 「hello」;

String userPsw = 「world」;

String url = 「jdbc:mysql ://」 + serverName + 「/」 + serverID ;

Connection = DriverManager.getConnection(url , userName , userPsw);

}

catch(ClassNotFoundException e1)

{

//catch could not find database driver exception.

}

catch(SQLException e2)

{

//catch could not connect to the database exception.

}

綜合上面的三種資料庫連接方式 , 其實大同小異。由於訪問不同的資料庫和所使用的資料庫驅動程序不同,所以導致代碼表面上有小小不同,但透過表面看來,內部都是

1. 載入一個特定的資料庫JDBC驅動。

2. 連接到一個資料庫。

3. 之後,就可以對一個特定的資料庫進行特定的操作了。

java如何連接SQLserver資料庫?

注意:在使用這個類的時候,先將對應資料庫的驅動包(JAR包),複製進項目的WebRoot文件夾下的WEB-INF文件夾下的lib文件夾下,切記必須要對應的JAR包,否則無法使用資料庫的

import java.sql.*;

public class BaseDAO {

private static final String DRIVER = “com.microsoft.sqlserver.jdbc.SQLServerDriver”;//注意:此驅動是SQL2005及以上版本的導入驅動包連接字元串

private static final String CONNECTION = “jdbc:sqlserver://localhost:1433;databaseName=Employee”; //資料庫連接字元串,databaseName就是你要連接的資料庫名,

private static final String NAME = “sa”; //資料庫用戶名

private static final String PWD = “sa”; //資料庫密碼

public static Connection GetConnection() {

Connection con = null;

try {

Class.forName(DRIVER);

con = DriverManager.getConnection(CONNECTION, NAME, PWD);

} catch (Exception e) {

// TODO: handle exception

e.printStackTrace();

}

return con;

}

public static void close(ResultSet rs, PreparedStatement ps, Connection con) {

try {

if (null != rs) {

rs.close();

}

if (null != ps) {

ps.close();

}

if (null != con) {

con.close();

}

} catch (Exception e) {

e.printStackTrace();

}

}

}

怎麼使用JAVA連接資料庫?

1、載入驅動程序。

2、創建連接對象。

3、創建sql語句執行對象 。

4、執行sql語句。

5、對執行結果進行處理。

6、關閉相關的連接對象即可(順序跟聲明的順序相反)。

處理結果兩種情況:

1、執行更新返回的是本次操作影響到的記錄數。

2、執行查詢返回的結果是一個ResultSet對象。

ResultSet包含符合SQL語句中條件的所有行,並且它通過一套get方法提供了對這些 行中數據的訪問。

擴展資料:

Statement

要執行SQL語句,必須獲得java.sql.Statement實例,Statement實例分為以下3 種類型:

1、執行靜態SQL語句。通常通過Statement實例實現。

2、執行動態SQL語句。通常通過PreparedStatement實例實現。

3、執行資料庫存儲過程。通常通過CallableStatement實例實現。

參考資料:百度百科JAVA

java如何訪問資料庫

Java可以使用JDBC訪問資料庫,也可以使用各類ORM框架訪問資料庫,但這些框架最終還是通過JDBC訪問資料庫,它們只是封裝了資料庫操作,而使得開發者可以減少這部分消耗。因此,本文只講解JDBC訪問方式。

JDBC訪問一般分為如下流程:

1、載入JDBC驅動程序:

在連接資料庫之前,首先要載入想要連接的資料庫的驅動到JVM(Java虛擬機),

這通過java.lang.Class類的靜態方法forName(String className)實現。

例如:

try{

//載入MySql的驅動類

Class.forName(“com.mysql.jdbc.Driver”) ;

}catch(ClassNotFoundException e){

System.out.println(“找不到驅動程序類 ,載入驅動失敗!”);

e.printStackTrace() ;

}

成功載入後,會將Driver類的實例註冊到DriverManager類中。

2、提供JDBC連接的URL

•連接URL定義了連接資料庫時的協議、子協議、數據源標識。

•書寫形式:協議:子協議:數據源標識

協議:在JDBC中總是以jdbc開始

子協議:是橋連接的驅動程序或是資料庫管理系統名稱。

數據源標識:標記找到資料庫來源的地址與連接埠。

例如:(MySql的連接URL)

jdbc:mysql://localhost:3306/test?useUnicode=truecharacterEncoding=gbk ;

useUnicode=true:表示使用Unicode字符集。如果characterEncoding設置為

gb2312或GBK,本參數必須設置為true 。characterEncoding=gbk:字元編碼方式。

3、創建資料庫的連接

•要連接資料庫,需要向java.sql.DriverManager請求並獲得Connection對象,該對象就代表一個資料庫的連接。

•使用DriverManager的getConnectin(String url,String username,String password )方法傳入指定的欲連接的資料庫的路徑、資料庫的用戶名和密碼來獲得。

例如:

//連接MySql資料庫,用戶名和密碼都是root

String url = “jdbc:mysql://localhost:3306/test” ;

String username = “root” ;

String password = “root” ;

try{

Connection con =

DriverManager.getConnection(url , username , password ) ;

}catch(SQLException se){

System.out.println(“資料庫連接失敗!”);

se.printStackTrace() ;

}

4、創建一個Statement

•要執行SQL語句,必須獲得java.sql.Statement實例,Statement實例分為以下3種類型:

1、執行靜態SQL語句。通常通過Statement實例實現。

2、執行動態SQL語句。通常通過PreparedStatement實例實現。

3、執行資料庫存儲過程。通常通過CallableStatement實例實現。

具體的實現方式:

Statement stmt = con.createStatement() ;

PreparedStatement pstmt = con.prepareStatement(sql) ;

CallableStatement cstmt = con.prepareCall(“{CALL demoSp(? , ?)}”) ;

5、執行SQL語句

Statement介面提供了三種執行SQL語句的方法:executeQuery 、executeUpdate和execute

1、ResultSet executeQuery(String sqlString):執行查詢資料庫的SQL語句,返回一個結果集(ResultSet)對象。

2、int executeUpdate(String sqlString):用於執行INSERT、UPDATE或DELETE語句以及SQL DDL語句,如:CREATE TABLE和DROP TABLE等

3、execute(sqlString):用於執行返回多個結果集、多個更新計數或二者組合的語句。

具體實現的代碼:

ResultSet rs = stmt.executeQuery(“SELECT * FROM …”) ;

int rows = stmt.executeUpdate(“INSERT INTO …”) ;

boolean flag = stmt.execute(String sql) ;

6、處理結果

兩種情況:

1、執行更新返回的是本次操作影響到的記錄數。

2、執行查詢返回的結果是一個ResultSet對象。

•ResultSet包含符合SQL語句中條件的所有行,並且它通過一套get方法提供了對這些行中數據的訪問。

•使用結果集(ResultSet)對象的訪問方法獲取數據:

while(rs.next()){

String name = rs.getString(“name”) ;

String pass = rs.getString(1); // 此方法比較高效(列是從左到右編號的,並且從列1開始)

}

7、關閉JDBC對象

操作完成以後要把所有使用的JDBC對象全都關閉,以釋放JDBC資源,關閉順序和聲明順序相反:

1、關閉記錄集

2、關閉聲明

3、關閉連接對象

if(rs != null){ // 關閉記錄集

try{

rs.close() ;

}catch(SQLException e){

e.printStackTrace() ;

}

}

if(stmt != null){ // 關閉聲明

try{

stmt.close() ;

}catch(SQLException e){

e.printStackTrace() ;

}

}

if(conn != null){ // 關閉連接對象

try{

conn.close() ;

}catch(SQLException e){

e.printStackTrace() ;

}

}

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/245487.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 13:09
下一篇 2024-12-12 13:09

相關推薦

  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Python 常用資料庫有哪些?

    在Python編程中,資料庫是不可或缺的一部分。隨著互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的資料庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字元串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字元串中是否存在多個指定字元: 一、字元串遍歷 字元串是Java編程中非常重要的一種數據類型。要判斷字元串中是否存在多個指定字元…

    編程 2025-04-29
  • openeuler安裝資料庫方案

    本文將介紹在openeuler操作系統中安裝資料庫的方案,並提供代碼示例。 一、安裝MariaDB 下面介紹如何在openeuler中安裝MariaDB。 1、更新軟體源 sudo…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29

發表回復

登錄後才能評論