本文目錄一覽:
怎麼使用JAVA連接資料庫?
java的jsp連接Oracle8/8i/9i資料庫(用thin模式) :
testoracle.jsp如下:
<%@ page contentType=”text/html;charset=gb2312″%
<%@ page import=”Java.sql.*”%
<html
<body
<%Class.forName(“oracle.jdbc.driver.OracleDriver”).newInstance();
String url=”jdbc:oracle:thin:@localhost:1521:orcl”;
//orcl為你的資料庫的SID
String user=”scott”;
String password=”tiger”;
Connection conn= DriverManager.getConnection(url,user,password);
Statement
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql=”select * from test”;
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%
您的第一個欄位內容為:<%=rs.getString(1)%
您的第二個欄位內容為:<%=rs.getString(2)%
<%}%
<%out.print(“資料庫操作成功,恭喜你”);%
<%rs.close();
stmt.close();
conn.close();
%
</body
</html
擴展資料:
一、JSP句法:
一個JSP頁面可以被分為以下幾部份:
靜態數據,如HTML;JSP指令,如include指令;JSP腳本元素和變數;JSP動作;用戶自定義標籤。
靜態數據在輸入文件中的內容和輸出給HTTP響應的內容完全一致。此時,該JSP輸入文件會是一個沒有內嵌JAVA或動作的HTML頁面。而且,客戶端每次請求都會得到相同的響應內容。
JSP指令控制JSP編譯器如何去生成servlet:%@ include file=”somefile.jsp” %
二、根據JSTL標籤所提供的功能,可以將其分為5個類別:
核心標籤;格式化標籤;SQL 標籤;XML 標籤;JSTL 函數。
參考資料來源:百度百科—JSP (java伺服器頁面)
java中連接資料庫的方式,有JDBC還有什麼?
這是老師發給我們的資料,共享給你:\x0d\x0aType 1: jdbc-odbc橋 \x0d\x0aJdbc-odbc 橋 是sun公司提供的,是jdk提供的的標準api. 這種類型的驅動實際是把所有 jdbc的調用傳遞給odbc ,再由odbc調用本地資料庫驅動代碼.( 本地資料庫驅動代碼是指 由資料庫廠商提供的資料庫操作二進位代碼庫,例如在oracle for windows中就是oci dll 文 件) \x0d\x0a\x0d\x0ajdbc-odbc橋|odbc|廠商DB代碼—資料庫Server\x0d\x0a\x0d\x0a只要本地機裝有相關的odbc驅動那麼採用jdbc-odbc橋幾乎可以訪問所有的資料庫,jdbc- odbc方法對於客戶端已經具備odbc driver的應用還是可行的.\x0d\x0a\x0d\x0a但是,由於jdbc-odbc先調用 odbc再由odbc去調用本地資料庫介面訪問資料庫.所以,執行效率比較低,對於那些大數據量 存取的應用是不適合的.而且,這種方法要求客戶端必須安裝odbc 驅動,所以對於基於 internet ,intranet的應用也是不合適的.因為,你不可能要求所有客戶都能找到odbc driver. \x0d\x0a\x0d\x0a=====一般ACCESS用到的比較多,初學者用。實際項目是不用的。\x0d\x0a\x0d\x0aType 2: 本地Api驅動 \x0d\x0a\x0d\x0a本地api驅動直接把jdbc調用轉變為資料庫的標準調用再去訪問資料庫.\x0d\x0a\x0d\x0a這種方法需要本地 資料庫驅動代碼. 本地api驅動|廠商DB代碼—資料庫Server這種驅動比起jdbc-odbc橋執行效率大大提高了.但是,它仍然需要在客戶端載入資料庫廠商 提供的代碼庫.這樣就不適合基於internet的應用.並且,他的執行效率比起3,4型的jdbc驅動 還是不夠高. \x0d\x0a\x0d\x0aType3:網路協議驅動 這種驅動實際上是根據我們熟悉的三層結構建立的. jdbc先把對數局庫的訪問請求傳遞給網 絡上的中間件伺服器. 中間件伺服器再把請求翻譯為符合資料庫規範的調用,再把這種調用 傳給資料庫伺服器.如果中間件伺服器也是用java開法的,那麼在在中間層也可以使用1,2型 jdbc驅動程序作為訪問資料庫的方法. 網路協議驅動–中間件伺服器—資料庫Server \x0d\x0a\x0d\x0a由於這種驅動是基於server的.所以,它不需要在客戶端載入資料庫廠商提供的代碼庫.而且 他在執行效率和可升級性方面是比較好的.因為大部分功能實現都在server端,所以這種驅動 可以設計的很小,可以非常快速的載入到內存中. 但是,這種驅動在中間件層仍然需要有配置 其它資料庫驅動程序,並且由於多了一個中間層傳遞數據,它的執行效率還不是最好. \x0d\x0a\x0d\x0aType4 純JAVA驅動 \x0d\x0a這種驅動直接把jdbc調用轉換為符合相關資料庫系統規範的請求.由於4型驅動寫的應用可 以直接和資料庫伺服器通訊.這種類型的驅動完全由java實現,因此實現了平台獨立性. 本地協議驅動———資料庫Server \x0d\x0a\x0d\x0a由於這種驅動不需要先把jdbc的調用傳給odbc或本地資料庫介面或者是中間層伺服器.所 以它的執行效率是非常高的.而且,它根本不需要在客戶端或伺服器端裝載任何的軟體或驅動. 這種驅動程序可以動態的被下載.但是對於不同的資料庫需要下載不同的驅動程序. \x0d\x0a\x0d\x0a以上對四種類型的jdbc驅動做了一個說明.那麼它們適合那種類型的應用開發呢? \x0d\x0a\x0d\x0aJdbc-odbc橋由於它的執行效率不高,更適合做為開發應用時的一種過度方案,或著對於初學 者了解jdbc編程也較適用. 對於那些需要大數據量操作的應用程序則應該考慮2,3,4型驅動.在intranet方面的應用可以 考慮2型驅動,但是由於3,4型驅動在執行效率上比2型驅動有著明顯的優勢,而且目前開發 的趨勢是使用純java.所以3,4型驅動也可以作為考慮對象. 至於基於internet方面的應用就只有考慮3,4型驅動了. 因為3型驅動可以把多種資料庫驅 動都配置在中間層伺服器.所以3型驅動最適合那種需要同時連接多個不同種類的資料庫, 並且對並發連接要求高的應用. 4型驅動則適合那些連接單一資料庫的工作組應用。\x0d\x0a\x0d\x0a現在是純java 開發,所以一般都用type4的jdbc driver。
java怎麼和資料庫連接
使用java連接MySQL資料庫與其他的資料庫連接核心是一樣的,如果說區別,那就是所需的驅動不一樣。
工具/原料
MySQL、JDK
方法/步驟
1、首先需要安裝好JDK(配置環境變數),如圖所示:
2、其次要安裝好MySQL資料庫,可以使用可視化Navicar For MySQL,如圖所示:
3、最後通過代碼進行連接。
(1)確定連接路徑URL:
String url=”jdbc:mysql://localhost(可以是本機IP地址):3306(埠號)/mysqltest(資料庫名稱)?”+”user=用戶賬號password=用戶密碼useUnicode=字元編碼”;
(2)載入驅動:
Class.forName(“com.mysql.jdbc.Driver”);
(3)連接,獲取Connection對象
Connection conn=DriverManager.getConnection(url)
(4)可以通過conn對象檢驗連接與否。
Java中如何實現與後台資料庫的連接?
用JAVA連接資料庫主要有兩種方式,一是用JDBC-ODBC橋來連接,二是用相關廠商提供的相應驅動程序來連接,首先談談第一種連接。 \x0d\x0a\x0d\x0aJDBC-ODBC橋接器是用JdbcOdbc.Class和一個用於訪問ODBC驅動程序的本地庫實現的。對於WINDOWS平台,該本地庫是一個動態連接庫DLL(JDBCODBC.DLL)。 \x0d\x0a\x0d\x0a由於JDBC在設計上與ODBC很接近。在內部,這個驅動程序把JDBC的方法映射到ODBC調用上,這樣,JDBC就可以和任何可用的ODBC驅動程序進行交互了。這種橋接器的優點是,它使JDBC目前有能力訪問幾乎所有的資料庫。通行方式如圖所示: \x0d\x0a\x0d\x0a應用程序—JDBC API—JDBC-ODBC—ODBC API—ODBC層—數據源 \x0d\x0a\x0d\x0a具體操作方法為: \x0d\x0a\x0d\x0a首先打開控制面板的管理工具,打開數據源(ODBC),在用戶DSN裡面添加數據源(即你要連接的資料庫的名字),在這裡假定連接SQL SERVER 2000的GoodsSupply資料庫。名稱填寫你要連接的資料庫的名稱(GoodsSupply),然後逐步設置,如果選用了使用SQL-SERVER密碼認證的話,就要輸入相應的用戶名及密碼連接到資料庫。一路下一步設置完成。 \x0d\x0a\x0d\x0a在JAVA裡面編寫程序進行測試,在這裡我的程序是讓用戶輸入任意的表名與與列名,把該列的所有數據輸出。源代碼如下: \x0d\x0a\x0d\x0aimport java.io.BufferedReader; \x0d\x0aimport java.io.InputStreamReader; \x0d\x0aimport java.sql.*; \x0d\x0a\x0d\x0apublic class ODBCBridge { \x0d\x0a\x0d\x0apublic static void main(String[] args) { \x0d\x0aString url=”jdbc:odbc:GoodsSupply”; \x0d\x0aStatement sm=null; \x0d\x0aString command=null; \x0d\x0aResultSet rs=null; \x0d\x0aString tableName=null; \x0d\x0aString cName=null; \x0d\x0aString result=null; \x0d\x0aBufferedReader input=new BufferedReader(new InputStreamReader(System.in)); \x0d\x0atry { \x0d\x0atry { \x0d\x0aClass.forName(“sun.jdbc.odbc.JdbcOdbcDriver”); //載入驅動 \x0d\x0a}catch(ClassNotFoundException e){ \x0d\x0aSystem.out.println(“Can not load Jdbc-Odbc Bridge Driver”); \x0d\x0aSystem.err.print(“ClassNotFoundException:”); \x0d\x0aSystem.err.println(e.getMessage()); \x0d\x0a} \x0d\x0aConnection con=DriverManager.getConnection(url,”USER”,”PASSWORD”); //使用SQL-SERVER2000認證 \x0d\x0aDatabaseMetaData dmd=con.getMetaData(); //DMD為連接的相應情況 \x0d\x0aSystem.out.println(“連接的資料庫:”+dmd.getURL()); \x0d\x0aSystem.out.println(“驅動程序:”+dmd.getDriverName()); \x0d\x0asm=con.createStatement(); \x0d\x0aSystem.out.println(“輸入表名”); \x0d\x0atableName=input.readLine(); \x0d\x0awhile(true) { \x0d\x0aSystem.out.println(“輸入列名(為空時程序結束):”); \x0d\x0acName=input.readLine(); \x0d\x0aif(cName.equalsIgnoreCase(“”)) \x0d\x0abreak; \x0d\x0acommand=”select “+cName+” from “+tableName; \x0d\x0ars=sm.executeQuery(command); //執行查詢 \x0d\x0aif(!rs.next()) \x0d\x0aSystem.out.println(“表名或列名輸入有誤”); \x0d\x0aelse { \x0d\x0aSystem.out.println(“查詢結果為:”); \x0d\x0ado \x0d\x0a{ \x0d\x0aresult=rs.getString(cName); \x0d\x0a//資料庫語言設置為中文,不用轉換編碼 \x0d\x0a//result=new String(result.getBytes(“ISO-8859-1″),”GB2312”); \x0d\x0aSystem.out.println(result); \x0d\x0a}while(rs.next()); \x0d\x0a} \x0d\x0a} \x0d\x0a}catch(SQLException ex) { \x0d\x0aSystem.out.println(“SQLException:”); \x0d\x0awhile(ex!=null) { \x0d\x0aSystem.out.println(“Message:”+ex.getMessage()); \x0d\x0aex=ex.getNextException(); \x0d\x0a} \x0d\x0a}catch(Exception e) { \x0d\x0aSystem.out.println(“IOException”); \x0d\x0a} \x0d\x0a} \x0d\x0a}
原創文章,作者:ZWOK,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/146108.html