當前位置:首頁 » 操作系統 » java與資料庫連接教程

java與資料庫連接教程

發布時間: 2022-02-15 09:19:00

java資料庫連接,實現登錄功能

根據輸入的用戶名來查找出這個用戶名對於的密碼,再把這個密碼和輸入的密碼進行比較,看看是不是一樣的。

sql="=?";
Connecttionconn=....
PreparedStatementps=conn.conn.prepareStatement(sql);
ps.setString(1,userName);//這個用戶名是用戶輸入的
privateResultSetrs=ps.executeQuery();
while(rs.next()){
Stringpassword=rs.getString("password");//這個密碼是資料庫裡面存的密碼,然後你拿這個和輸入的對比就可以了
}

㈡ [求助]Java與資料庫的鏈接的教程or資料

JAVA連接資料庫主要有兩種方式:

一是用JDBC-ODBC橋來連接

二是用相關廠商提供的相應驅動程序來連接

用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");
}
}
}

用關廠商提供的相應驅動程序來連接

這種實現方法是直接使用資料庫廠商提供的用專用的網路協議創建的驅動程序,通過它可以直接將JDBC API調用轉換為直接網路調用。這種調用方式一般性能比較好,而且也是實用中最簡單的方法。因為它步需要安裝其他的庫或中間件。幾乎所有的資料庫廠商都為他們的資料庫提供了這種資料庫提供了這種JDBC驅動程序,也可以從第三方廠商獲得這些驅動程序。

從網址http://instry.Java.sun.com/procts/jdbc/drivers/可以看到所有有用的驅動程序的清單。其結果如圖所示:

應用程序---JDBC API---驅動程序---數據源

這里首先要安裝JDBC的驅動程序,推薦SP2版本的,可從微軟網站上下載
http://www.microsoft.com/downloads/details.aspx?FamilyID=9f1874b6-f8e1-4bd6-947c-0fc5bf05bf71&DisplayLang=en 下載最下面的SETUP.EXE

這個驅動程序要配合SQL SERVER2000 SP3A,相應下載URL為
http://www.microsoft.com/china/sql/downloads/sp3.asp 下載 chs_sql2ksp3.exe

如果用JAVA SDK直接編譯運行的話需要設置環境變數,將安裝好的JDBC驅動裡面的LIB三個文件設置為環境變數:
classpath:
D:\program files\Microsoft SQL Server\jdbc\lib\msbase.jar;
D:\program files\Microsoft SQL Server\jdbc\lib\mssqlserver.jar;
D:\program files\Microsoft SQL Server\jdbc\lib\msutil.jar;

安裝即可用微軟的驅動程序連接資料庫了,相應代碼與前面基本相同:

import java.sql.*;
import java.io.*;
public class DBColumn {

public static void main(String[] args) {
Connection con=null;
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
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
System.out.println("驅動程序已載入");
//SQL SERVER的登陸方式必須為使用SQL SERVER密碼登陸認證方式
con=DriverManager.getConnection("jdbc:microsoft:sqlserver://SERVERNAME:1433","USER","PASSWORD");
con.setCatalog("GoodsSupply");
System.out.println("OK,成功連接到資料庫");
}catch(Exception ex) {
ex.printStackTrace();
}
try
{
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(Exception ex) {
ex.printStackTrace();
}
}
}

最後給出JAVA連接其他資料庫的關鍵代碼

1、Oracle8/8i/9i資料庫(thin模式)
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@localhost:1521:orcl";
//orcl為資料庫的SID
String user="test";
String password="test";
Connection conn= DriverManager.getConnection(url,user,password);

2、DB2資料庫
Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance();
String url="jdbc:db2://localhost:5000/sample";
//sample為你的資料庫名
String user="admin";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);

3、Sybase資料庫
Class.forName("com.sybase.jdbc.SybDriver").newInstance();
String url =" jdbc:sybase:Tds:localhost:5007/myDB";
//myDB為你的資料庫名
Properties sysProps = System.getProperties();
SysProps.put("user","userid");
SysProps.put("password","user_password");
Connection conn= DriverManager.getConnection(url, SysProps);

4、Informix資料庫
Class.forName("com.informix.jdbc.IfxDriver").newInstance();
String url =
"jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver;
user=testuser;password=testpassword";
//myDB為資料庫名
Connection conn= DriverManager.getConnection(url);

5、MySQL資料庫
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String url ="jdbc:mysql://localhost/myDB?user=soft&password=soft1234&useUnicode=
true&characterEncoding=8859_1"
//myDB為資料庫名
Connection conn= DriverManager.getConnection(url);

6、PostgreSQL資料庫
Class.forName("org.postgresql.Driver").newInstance();
String url ="jdbc:postgresql://localhost/myDB"
//myDB為資料庫名
String user="myuser";
String password="mypassword";
Connection conn= DriverManager.getConnection(url,user,password);

㈢ 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();

㈣ java 如何與資料庫連接

java定義了介面

要實現連接,廠商就去實現它

ODBC/JDBC 就是

載入驅動類

然後獲取連接對象Connection

㈤ 資料庫如何與JAVA連接起來

用JDBC鏈接資料庫;

㈥ java怎樣與資料庫連接

public static void main(String[] args) throws Exception {
// 裝載oracle對Driver的實現類
Class.forName("oracle.jdbc.OracleDriver");
// 獲取對oracle連接
String uri = "jdbc:oracle:thin:@資料庫IP:埠號:資料庫名"; // 用於表示連接資料庫的類型和地址
String user = "資料庫用戶名";
String pwd = "資料庫密碼";
Connection con = DriverManager.getConnection(uri, user, pwd);
Statement stmt = con.createStatement();
System.out.println(stmt);
String sql = "SELECT * from s_emp";
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
System.out.println(
rs.getString(1) + "," + rs.getString(2) + "," + rs.getString(3));
}

rs.close();
stmt.close();
con.close();
}

以上是小案例一個,不過你先要去下載Oracle的驅動JAR包,第一句話就是裝載的意思,其他資料庫也一樣,要有驅動JAR包

㈦ 怎麼使用JAVA連接資料庫

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

㈧ java怎麼和資料庫連接

1、載入驅動程序。

處理結果兩種情況:

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

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

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

(8)java與資料庫連接教程擴展閱讀:


Statement

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

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

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

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

熱點內容
成都php招聘 發布:2025-01-15 13:12:16 瀏覽:380
怎麼調用伺服器資料庫 發布:2025-01-15 13:06:25 瀏覽:656
人人網設置訪問許可權 發布:2025-01-15 13:02:06 瀏覽:563
崩壞學園2腳本 發布:2025-01-15 12:58:43 瀏覽:459
我的世界伺服器等級如何升 發布:2025-01-15 12:45:55 瀏覽:689
c語言程序填空題 發布:2025-01-15 12:45:53 瀏覽:545
怎麼配置氯化鈉濃度 發布:2025-01-15 12:34:06 瀏覽:206
4000除以125簡便演算法 發布:2025-01-15 12:27:41 瀏覽:464
源碼商用 發布:2025-01-15 12:26:54 瀏覽:75
價錢演算法 發布:2025-01-15 12:26:03 瀏覽:401