java開發時往往需要連接資料庫進操作,接下來就以MySQL為例介紹一下連接過程。
工具/原料
Eclipse、mysql-connector-java-5.0.5-bin.jar
方法/步驟
1、打開Eclipse中一個Java項目,選擇項目右擊,選擇 New-->Folder,如圖所示:
2. Java中如何實現與後台資料庫的連接
用JAVA連接資料庫主要有兩種方式,一是用JDBC-ODBC橋來連接,二是用相關廠商提供的相應驅動程序來連接,首先談談第一種連接。
JDBC-ODBC橋接器是用JdbcOdbc.Class和一個用於訪問ODBC驅動程序的本地庫實現的。對於WINDOWS平台,該本地庫是一個動態連接庫DLL(JDBCODBC.DLL)。
由於JDBC在設計上與ODBC很接近。在內部,這個驅動程序把JDBC的方法映射到ODBC調用上,這樣,JDBC就可以和任何可用的ODBC驅動程序進行交互了。這種橋接器的優點是,它使JDBC目前有能力訪問幾乎所有的資料庫。通行方式如圖所示:
應用程序---JDBC API---JDBC-ODBC---ODBC API---ODBC層---數據源
具體操作方法為:
首先打開控制面板的管理工具,打開數據源(ODBC),在用戶DSN裡面添加數據源(即你要連接的資料庫的名字),在這里假定連接SQL SERVER 2000的GoodsSupply資料庫。名稱填寫你要連接的資料庫的名稱(GoodsSupply),然後逐步設置,如果選用了使用SQL-SERVER密碼認證的話,就要輸入相應的用戶名及密碼連接到資料庫。一路下一步設置完成。
在JAVA裡面編寫程序進行測試,在這里我的程序是讓用戶輸入任意的表名與與列名,把該列的所有數據輸出。源代碼如下:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.sql.*;
public class ODBCBridge {
public static void main(String[] args) {
String url="jdbc:odbc:GoodsSupply";
Statement sm=null;
String command=null;
ResultSet rs=null;
String tableName=null;
String cName=null;
String result=null;
BufferedReader input=new BufferedReader(new InputStreamReader(System.in));
try {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //載入驅動
}catch(ClassNotFoundException e){
System.out.println("Can not load Jdbc-Odbc Bridge Driver");
System.err.print("ClassNotFoundException:");
System.err.println(e.getMessage());
}
Connection con=DriverManager.getConnection(url,"USER","PASSWORD"); //使用SQL-SERVER2000認證
DatabaseMetaData dmd=con.getMetaData(); //DMD為連接的相應情況
System.out.println("連接的資料庫:"+dmd.getURL());
System.out.println("驅動程序:"+dmd.getDriverName());
sm=con.createStatement();
System.out.println("輸入表名");
tableName=input.readLine();
while(true) {
System.out.println("輸入列名(為空時程序結束):");
cName=input.readLine();
if(cName.equalsIgnoreCase(""))
break;
command="select "+cName+" from "+tableName;
rs=sm.executeQuery(command); //執行查詢
if(!rs.next())
System.out.println("表名或列名輸入有誤");
else {
System.out.println("查詢結果為:");
do
{
result=rs.getString(cName);
//資料庫語言設置為中文,不用轉換編碼
//result=new String(result.getBytes("ISO-8859-1"),"GB2312");
System.out.println(result);
}while(rs.next());
}
}
}catch(SQLException ex) {
System.out.println("SQLException:");
while(ex!=null) {
System.out.println("Message:"+ex.getMessage());
ex=ex.getNextException();
}
}catch(Exception e) {
System.out.println("IOException");
}
}
}
3. 怎麼使用JAVA連接資料庫
1、載入驅動程序。
處理結果兩種情況:
1、執行更新返回的是本次操作影響到的記錄數。
2、執行查詢返回的結果是一個ResultSet對象。
ResultSet包含符合SQL語句中條件的所有行,並且它通過一套get方法提供了對這些 行中數據的訪問。
(3)java測試資料庫鏈接擴展閱讀:
Statement
要執行SQL語句,必須獲得java.sql.Statement實例,Statement實例分為以下3 種類型:
1、執行靜態SQL語句。通常通過Statement實例實現。
2、執行動態SQL語句。通常通過PreparedStatement實例實現。
3、執行資料庫存儲過程。通常通過CallableStatement實例實現。
4. 怎樣測試java連接資料庫是否成功
你好,判斷連接是否成功,可以判斷conn是否為空,或者是否有異常拋出
1
2
3
4
5
6
7
try{
Connection
con
=
DriverManager.getConnection(url
,
username
,
password
)
;
}catch(SQLException
se){
System.out.println("資料庫連接失敗!");
se.printStackTrace()
;
}
希望可以幫助到你
5. java怎樣測試資料庫是否連接成功
jdbc去連接,需要對應資料庫的jar包,例如mysql:jdbc:mysql://localhost:3306/test
6. Java中如何測試資料庫已經正常連接
提交用戶名密碼與資料庫進行校驗時,如果程序不拋出資料庫連接不上的異常,那就說明資料庫連接沒問題
7. java判斷資料庫連接狀態
有!
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
public class DBAccess {
//獲取資料庫連接
public Connection getConnection(){
Connection con = null;
try {
//載入資料庫驅動程序
Class.forName("oracle.jdbc.driver.OracleDriver");
//獲取資料庫鏈接對象
con=DriverManager.getConnection("jdbc:oracle:thin:@192.168.2.207:1521:orcl","foshan","foshan");
} catch (Exception e) {
e.printStackTrace();
}
//返回鏈接對象
return con;
}
//測試
public static void main(String[] args) {
DBAccess dbac = new DBAccess();
if(dbac.getConnection()!=null){
System.out.println("Get connnection success!");
}
}
}
8. java如何連接mySQL資料庫
1.下面代碼是使用jdbc直接來鏈接mysql的操作,方式與SQL SERVER類似,區別在於載入的驅動不同,url的設置也有點區別。
9. Mysql的最大連接數怎樣用java程序測試
java鏈接資料庫(mysql)---JDBC如下:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import org.junit.Test;
public class GetConnect {
private Connection conn; //Connection連接 導包(import java.sql.DriverManager;)在資料庫中一般來說JDBC是SQL包
// 獲得翻譯官: 載入驅動
//載入驅動
static{//靜態塊:在所有方法包括構造函數之前,執行.
try {
Class.forName("com.mysql.jdbc.Driver");
// (驅動實現了介面)mysql-connector-java-5.1.22-bin.jar (jar包)JDBC介面的實現 是外部的 需要引入
//使用映射的方式,引入驅動。
//("com.mysql.jdbc.Driver")是驅動的入口在
//Driver是驅動的意思在mysql-connector-java-5.1.22-bin.jar (jar包)中com.mysql.jdbc包中有個Driver類
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//獲得鏈接: 打通電話
@Test //junit的測試 測試方法,讓它運行起來
//報錯(Test下有紅線),錯誤信息如何提醒:Ctrl+1(快捷鍵) 游標放在錯誤(test)上 Ctrl+1 添加JUnit jar包
//JUnit jar包 既:Add JUnit 4 library to the build path
//添加進去後進行測試:如圖:(8--JUnit測試截圖);測試成功報 綠線 否則 紅線 如圖:(8--JUnit測試截圖)
public void getConnect() {
try {
/*url: 鏈接到哪一個資料庫實例
* jdbc:mysql://IP或者localhost:3306/資料庫名
* jdbc:(是個協議jdbc協議)mysql:(是個子協議) IP或者localhost(是個地址) 3306(埠號)
* user: 用戶名
* password:登陸密碼
*
*/
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123456");
//java裡面一切皆對象,com.mysql.jdbc.Driver是個驅動,也有對象 DriverManager驅動管理對象
// com.mysql.jdbc.Driver是入口,DriverManager管理這個入口
//getConnection獲得鏈接,獲得實例 返回值:Connection類型 conn獲得的實例
//DriverManager.getConnection(url,user,password);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (conn!=null) {
System.out.println("鏈接成功!"); //getConnection這個實例--》conn到底獲得了沒有--》conn!=null 表示 獲得了
} else {
System.out.println("鏈接失敗!");
}
}
//寫完代碼之後讓它運行的2種方式:1 使用傳統main() 2 Junit 單元測試
// junit: 將"@Test"放在要執行的方法前,要求被測試的方法沒有參數,沒有返回值. 通常要求方法時public.
}