當前位置:首頁 » 文件傳輸 » java訪問資料庫
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

java訪問資料庫

發布時間: 2022-01-25 16:43:04

A. java中連接Mysql資料庫的幾種方式

1:引入java.sql數據包;

import java.sql.*;

2:載入JDBC驅動程序

Class.forName(JDBC驅動包的名字).newInstance();

3:產生Connection

如已成功載入JDBC驅動程序,就可以利用載入的驅動程序連接資料庫

Connection con=DriverManager.getConnection(URL,UserName,Password);

URL: JDBC:(subprotocol):(subname)

subprotocol:子協議指定連接何種資料庫或用什麼方式連接資料庫;

subname:確立一個連接,可以是一個數據源名,也可是指向一個網上資料庫.

4:各種連接例:

(1) MySQL資料庫

String Dirver="com.mysql.jdbc.Driver";//驅動程序

String URL="jdbc:mysql://localhost:3306/db_name"; //連接的URL,db_name為資料庫名

String UserName="username"; //用戶名

String Password="password"; //密碼

Class.forName(Driver).newInstance(); //載入資料庫驅動

connection con=DriverManager.getConnection(URL,Username,Password);

(2) Microsoft SQL server 資料庫

String Driver="com.microsoft.jdbc.sqlserver.SQLServerDriver"; //驅動程序

String URL="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_name";

//連接的URL,db_name為資料庫

String UserName="username"; //用戶名
String Password="password"; //密碼

Class.forName(Driver).newInstance();
connection con=DriverManager.getConnection(URL,Username,Password);

(3) sybase 資料庫

String Driver="com.sybase.jdbc.sybDriver"; //驅動程序
String URL="jdbc:Sybase://localhost:5007/db_name"; //連接的URL,db_name為資料庫

String UserName="username"; //用戶名
String Password="password"; //密碼

Class.forName(Driver).newInstance();
connection con=DriverManager.getConnection(URL,Username,Password);

(4) Oracle(用thin模式)資料庫

String Driver="oracle.jdbc.driver.OracleDriver"; //驅動程序
String URL="jdbc:oracle:thin://localhost:1521:orcl";

//連接的URL,orcl為資料庫的SID

String UserName="username"; //用戶名
String Password="password"; //密碼

Class.forName(Driver).newInstance();
connection con=DriverManager.getConnection(URL,Username,Password);

(5) 利用JDBC-ODBC橋連接

String Driver="sun.jdbc.odbc.JdbcodbcDriver"; //驅動程序
String URL="jdbc:odbc:dbsource"; //連接的URL,dbsource為數據源名

String UserName="username"; //用戶名
String Password="password"; //密碼

Class.forName(Driver).newInstance();
connection con=DriverManager.getConnection(URL,Username,Password);

B. java中使用JDBC連接資料庫的步驟

1.class.forName("驅動所在類及包名") 還需導入jar包
2.java.sql.Connection conn = DriverManager.getConnection(URL(即資料庫連接的ulr),USERNAME(對應數據的用戶名),PASSWORD(密碼));
3.String sql = "SELECT * FROM tableName WHERE id=?";
4.java.sql.PreparedStatement ptmt = conn.getPreparedStatement(sql);
5.ptmt.setInt(1,id值);
6.java.sql.ResultSet rs = ptmt.executeQuery();
7.while(rs.next){
System.out.println(rs.getString("欄位名"));
}
8.conn.close();ptmt.close();rs.close();

C. 怎麼使用JAVA連接資料庫

1、首先我們先建好資料庫,然後建立好程序的目錄,因為是適用於初學者的,所以就建立一個簡單的java project,如圖。

D. 怎麼用java連接資料庫

首先需要導入相應資料庫的驅動文件,然後要注冊驅動,Class.forname(driverName),獲取Connection對象Connection conn=DriverManager.getConnection(URL);然後獲取PreparedStatement對象PreparedStatement pst=conn.getPreparedState(sql,username,password)其中的username和password是你訪問資料庫的名稱和密碼;如果要使用到返回集合則可以用ResultSet對象接收,ResultSet rs=pst.executeQuery();不要使用到返回集合的話就直接pst.executeQuery();
以上的可以查jdk
1.mysql:driverName的值為:com.mysql.jdbc.Driver;url的值為:jdbc:mysql://localhost:3306/hibernate其中hibernate是你的資料庫名稱
2.sqlserver:driverName的值為:com.microsoft.sqlserver.jdbc.SQLServerDriver;url的值為
jdbc:sqlserver://localhost:1433;DatabaseName=" + database,其中database是你資料庫名稱
3.oracle:driverName的值為:oracle.jdbc.driver.OracleDriver;url的值:jdbc:oracle:thin:@127.0.0.1:1521:ora92,其中ora92是你資料庫名稱;

E. Java資料庫連接 怎麼做

package hw.zy.connection;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ResourceBundle;
/**
* 連接資料庫
* @author 卓越
* 日期:2011-05-23
* */
public class DBConnection {

/**
* 得到一些配置文件的路徑
* */
static ResourceBundle bundle = ResourceBundle
.getBundle("hw.zy.connection.db");

/**
* 實例化DBConnection對象
* */
private static DBConnection instance = new DBConnection();

/**
* 得到一個對象
*
* @return 返回一個DBConnection對象
* */
public static DBConnection getInstance() {
return instance;
}

/**
* 構造函數私有化
* */
private DBConnection() {

}

/**
* 注冊驅動程序
* */
static {
try {

String driver = bundle.getString("driver");
Class.forName(driver);
} catch (ClassNotFoundException e) {
System.out.println("無法載入驅動!");
}
}

/**
* 連接資料庫
* @return 返回一個Connection 對象
* */
public static Connection getConnection() throws SQLException {
String url = bundle.getString("url");
String username = bundle.getString("username");
String password = bundle.getString("password");
return DriverManager.getConnection(url, username, password);
}

/**
* 釋放資源
*
* @param rs
* ,stmt,conn
* */
public void free(ResultSet rs, Statement stmt, Connection conn) {
try {
if (rs != null)
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
} finally {
try {
if (stmt != null)
try {
stmt.close();
} catch (SQLException e) {

e.printStackTrace();
}
} finally {
if (conn != null)
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
public static void main(String[] args) {
DBConnection aaConnection=new DBConnection();
try {
aaConnection.getConnection();
System.out.println("連接成功!");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

}

配置文件 db.properties

driver=oracle.jdbc.OracleDriver
url=jdbc:oracle:thin:@localhost:1521:ORCL
username=liu
password=abc

F. 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來下載該驅動程序)。

G. 用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. 之後,就可以對一個特定的資料庫進行特定的操作了。

附上各種資料庫的JDBC驅動起可用信息網址:

http://java.sun.com/procts/jdbc

對於Oracle資料庫,請參考:

http://otn.oracle.com.software/content.html

對於MySQL資料庫,請參考:

http://mmMySQL.sourceforge.net

對於SQL Server資料庫,有很多的驅動可選,比較常用的:

http://www.microsoft.com/china/sql/downloads/2000/jdbc.asp

http://www.freetds.org

http://www.datadirect-technologies.com

H. 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=true&characterEncoding=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() ;
}
}

I. java連接資料庫

java連接資料庫的代碼 位於MVC中的M(模型層)中,主要負責與資料庫打交道。
本人把我以前寫的代碼 加上注釋 給你看看 希望對你有幫助。
public class UserInfoDAO {
//驗證登陸名/密碼sql語句
//private -----這個sql語句只在本類內部使用,沒有必要public
//static -----sql語句僅僅一份就足夠了
//final -----sql語句一般在運行時不變,final修飾的變數相當於常量
//常量名所有字母大寫
private static final String SQL_CHECK_USERINFO =
"SELECT LOGINNAME,USERNAME,PASSWORD,AGE,ADDRESS FROM USERINFO WHERE LOGINNAME=? AND PASSWORD = ?";
public UserInfoDAO() {
}
/**
* 驗證登陸名/密碼方法
* @param u UserInfo
* @return boolean
*/
public boolean checkUser(UserInfo u) {
boolean b = false;//驗證是否成功的標識
Connection conn = null;//資料庫連接的引用
PreparedStatement pstmt = null;//PreparedStatement引用
ResultSet rs = null;//結果集引用
//調用ConnectionManager的方法,得到資料庫里連接實例
conn = ConnectionManager.getConnection();
try {
//通過Connection的prepareStatement()方法構建PreparedStatement實例,參數為sql語句
pstmt = conn.prepareStatement(SQL_CHECK_USERINFO);

//為sql語句中的?賦值,注意序號從1開始
pstmt.setString(1, u.getLoginName());
pstmt.setString(2, u.getPassword());

//執行查詢得到結果集
rs = pstmt.executeQuery();

//在結果集中循環,如果結果集中有記錄意味著驗證成功
b = rs.next();//標識置為true
while (rs.next()) {
b = true;//標識置為true
}
} catch (SQLException ex) {
System.out.println(ex.getMessage());
} finally {
//注意:一定在finally中釋放資料庫資源
cleanUP(rs, pstmt, conn);
}
return b;
}

private void cleanUP(ResultSet rs, PreparedStatement pstmt, Connection conn) {
try {
if (rs != null) {
rs.close();
}
if (pstmt != null) {
pstmt.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException ex) {
System.out.println(ex.getMessage());
}
}
}

J. java怎麼和資料庫連接

1、載入驅動程序。

處理結果兩種情況:

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

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

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

(10)java訪問資料庫擴展閱讀:


Statement

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

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

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

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