接下來(lái)總結(jié)一下常用的幾種連接方式。
例如有如下的Access數(shù)據(jù)庫(kù)student,表basic,以及6條記錄,現(xiàn)在通過(guò)幾種方式在Jsp中將他們的數(shù)據(jù)顯示出來(lái)。如圖所示:
對(duì)于幾種連接Access數(shù)據(jù)庫(kù)的方式,基本上都是基于JDBC-ODBC方式的,當(dāng)然也有純JDBC驅(qū)動(dòng)的方式。這里我暫時(shí)就不說(shuō)了。對(duì)于這幾種方式,除了取得連接之處不同外,其他的代碼都是一樣的。所以這里先寫出取得連接的幾種方式,然后再用完整的代碼進(jìn)行顯示。
方式一:通過(guò)JDBC-ODBC方式橋連直接連接:
1、對(duì)于這種方式,首先要建立ODBC數(shù)據(jù)源,我的系統(tǒng)是Win7系統(tǒng),所以依次選擇“控制面板----管理工具----數(shù)據(jù)源(ODBC)”,打開數(shù)據(jù)源管理器,如圖所示:
2、在“系統(tǒng)DSN”選項(xiàng)卡中,單擊“添加”按鈕,打開創(chuàng)建數(shù)據(jù)源對(duì)話框,選擇Access數(shù)據(jù)庫(kù)的驅(qū)動(dòng)程序“Microsoft Access Driver(*.mdb)”如圖所示:
3、單擊完成按鈕,出現(xiàn)如下對(duì)話框,在數(shù)據(jù)源名中輸入數(shù)據(jù)源的名字“JDBC-ODBC”,單擊選擇按鈕,選擇要操作的數(shù)據(jù)庫(kù)“student.mdb”,單擊確定按鈕完成數(shù)據(jù)源的配置。如圖所示:
4、數(shù)據(jù)源配置好了,就可以寫獲取連接的代碼了,如下所示:
復(fù)制代碼 代碼如下:
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url = "jdbc:odbc:JDBC-ODBC";
Connection con = DriverManager.getConnection(url);
以上的三行代碼就是通過(guò)JDBC-ODBC連接Access數(shù)據(jù)庫(kù)的關(guān)鍵代碼。這種方式連接可以很方便的記憶連接的url代碼,這是很有用的。后面的代碼就是正常寫了。
方式二:通過(guò)數(shù)據(jù)庫(kù)所在的絕對(duì)路徑方式連接
上面說(shuō)過(guò)這里的幾種方式都是基于JDBC-ODBC方式。所以加載驅(qū)動(dòng)的Class.forName()中的參數(shù)都是“sun.jdbc.odbc.JdbcOdbcDriver”。對(duì)于這種方式我將student.mdb文件放在了e盤的根目錄下,在使用的時(shí)候,直接寫上該數(shù)據(jù)庫(kù)的絕對(duì)路徑就行了。獲取連接的代碼如下所示:
復(fù)制代碼 代碼如下:
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ="+"e://student.mdb ";
Connection con = DriverManager.getConnection(url);
對(duì)于這種方式不用配置數(shù)據(jù)源,雖然代碼比較多,但是很好理解的。也是很常用的。
方式三:通過(guò)請(qǐng)求來(lái)獲取數(shù)據(jù)庫(kù)的絕對(duì)路徑方式連接
對(duì)于這種方式,我個(gè)人認(rèn)為很適合在Java Web應(yīng)用中使用,將做好的應(yīng)用給別人,別人也可以使用。我將該數(shù)據(jù)庫(kù)文件放在了Web應(yīng)用的根路徑下。那么動(dòng)態(tài)的獲取連接的代碼如下所示:
復(fù)制代碼 代碼如下:
String path = application.getRealPath("/index.jsp");
path = path.substring(0,path.lastIndexOf("\\"))+"\\";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ="+path+"student.mdb ";
Connection con = DriverManager.getConnection(url);
以上便是三種方式獲取連接。接下來(lái)便是顯示的代碼了。代碼如下所示:
復(fù)制代碼 代碼如下:
%@ page language="java" import="java.util.*,java.sql.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
html>
head>
title>Access/title>
/head>
body>
table border="1" width="40%">
tr bgcolor="gray">
th>學(xué)號(hào)/th>
th>姓名/th>
th>年齡/th>
th>地址/th>
th>語(yǔ)文/th>
th>數(shù)學(xué)/th>
th>英語(yǔ)/th>
/tr>
%
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url = "jdbc:odbc:JDBC-ODBC";
Connection con = DriverManager.getConnection(url);
Statement st = con.createStatement();
String sql = "select * from basic";
ResultSet rs = st.executeQuery(sql);
while(rs.next())
{
%>
tr>
td>%=rs.getString(1) %>/td>
td>%=rs.getString(2) %>/td>
td>%=rs.getInt(3) %>/td>
td>%=rs.getString(4) %>/td>
td>%=rs.getInt(5) %>/td>
td>%=rs.getInt(6) %>/td>
td>%=rs.getInt(7) %>/td>
/tr>
%
}
rs.close();
st.close();
con.close();
%>
/table>
/body>
/html>
運(yùn)行JSP結(jié)果如下所示:
當(dāng)將連接改為第二種方式的時(shí)候還是好使的,JSP代碼如下所示:
%@ page language="java" import="java.util.*,java.sql.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">html> head> title>JDBC連接Access數(shù)據(jù)庫(kù)的第二種方式/title> /head> body> table border="1" width="40%"> tr bgcolor="red"> th>學(xué)號(hào)/th> th>姓名/th> th>年齡/th> th>地址/th> th>語(yǔ)文/th> th>數(shù)學(xué)/th> th>英語(yǔ)/th> /tr> % Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ="+"e://student.mdb "; Connection con = DriverManager.getConnection(url); Statement st = con.createStatement(); String sql = "select * from basic"; ResultSet rs = st.executeQuery(sql); while(rs.next()) { %> tr> td>%=rs.getString(1) %>/td> td>%=rs.getString(2) %>/td> td>%=rs.getInt(3) %>/td> td>%=rs.getString(4) %>/td> td>%=rs.getInt(5) %>/td> td>%=rs.getInt(6) %>/td> td>%=rs.getInt(7) %>/td> /tr> % } rs.close(); st.close(); con.close(); %> /table> /body>/html>
運(yùn)行JSP結(jié)果如下所示:
當(dāng)將連接改為第三種方式的時(shí)候還是好使的,JSP代碼如下所示:
%@ page language="java" import="java.util.*,java.sql.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">html> head> title>JDBC連接Access數(shù)據(jù)庫(kù)的第三種方式/title> /head> body> table border="1" width="40%"> tr bgcolor="blue"> th>學(xué)號(hào)/th> th>姓名/th> th>年齡/th> th>地址/th> th>語(yǔ)文/th> th>數(shù)學(xué)/th> th>英語(yǔ)/th> /tr> % String path = application.getRealPath("/index.jsp"); path = path.substring(0,path.lastIndexOf("\\"))+"\\"; Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); String url = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ="+path+"student.mdb "; Connection con = DriverManager.getConnection(url); Statement st = con.createStatement(); String sql = "select * from basic"; ResultSet rs = st.executeQuery(sql); while(rs.next()) { %> tr> td>%=rs.getString(1) %>/td> td>%=rs.getString(2) %>/td> td>%=rs.getInt(3) %>/td> td>%=rs.getString(4) %>/td> td>%=rs.getInt(5) %>/td> td>%=rs.getInt(6) %>/td> td>%=rs.getInt(7) %>/td> /tr> % } rs.close(); st.close(); con.close(); %> /table> /body>/html>
運(yùn)行JSP結(jié)果如下所示:
對(duì)于這種方式我的項(xiàng)目的目錄結(jié)構(gòu)如下所示:
從上述的三種方式可以知道,無(wú)論使用哪一種都是好使的。
本篇博客的有關(guān)資料我已經(jīng)上傳了,如果想下載本篇博客,可以到這里下載,下載地址ODBC_Access_jb51.rar
您可能感興趣的文章:- MyEclipse通過(guò)JDBC連接MySQL數(shù)據(jù)庫(kù)基本介紹
- java jdbc連接mysql數(shù)據(jù)庫(kù)實(shí)現(xiàn)增刪改查操作
- Java使用JDBC連接數(shù)據(jù)庫(kù)的實(shí)現(xiàn)方法
- Java開發(fā)Oracle數(shù)據(jù)庫(kù)連接JDBC Thin Driver 的三種方法
- JDBC數(shù)據(jù)庫(kù)的使用操作總結(jié)
- java使用jdbc連接數(shù)據(jù)庫(kù)工具類和jdbc連接mysql數(shù)據(jù)示例
- JDBC連接Oracle數(shù)據(jù)庫(kù)常見(jiàn)問(wèn)題及解決方法
- Spring Boot JDBC 連接數(shù)據(jù)庫(kù)示例
- jdbc連接sqlserver數(shù)據(jù)庫(kù)示例
- JDBC利用C3P0數(shù)據(jù)庫(kù)連接池連接數(shù)據(jù)庫(kù)