MyEclipse 資料庫連線方法
本文采用Mysql資料庫(mysql-5.0.41-win32-Setup.exe)
(一)JDBC方式
(1)下載mysql驅動程式(本文使用mysql-connector-java-5.0.7-bin.jar),把這個檔案放在tomcat安裝目錄的lib目錄下,則tomcat中所有的web應用都可以使用mysql驅動了,如果將其放在某個web應用的“WEB-INF/lib”子目錄中則僅有此web應用能使用mysqlJDBC驅動
(2)載入驅動程式
Class.forName("com.mysql.jdbc.Driver");//資料庫驅動程式
(3)連線資料庫(Connection)
Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/new
(4)操作資料(Statement)
Statement sql=conn.createStatement();
String sqlStr=“select ID from table2”;
ResultSet rs=sql.executeQuery(sqlStr);
(5)顯示資料
<table border="1">
<%
while(rs.next()){ %>
<tr><td><%=rs.getLong("ID")%></td></tr>
} %>
</table>
注意事項:
a.(2)(3)(4)步中,若是寫在JSP頁面中,則應放在<% %>中
b.當把驅動程式放入lib中後,要重啟tomcat,否則會顯示連線不上
c.若不知道驅動程式的全稱,可以通過Myeclipse載入數庫獲得
在windows->open perspective->MyEclipse Database EXplorer
可以得到資料庫驅動的名稱和路徑
(二)資料庫連線池
(1)在tomcat下conf/context.xml中<context></context>間加入
<Resource name="jdbc/mysqlds" auth="Container" type="javax.sql.DataSource"
maxActive="50" maxIdle="30" maxWait="10000" logAbandoned="true"
username="root" password="sa" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/new" />
其中maxActive屬性的值為連線資料庫的最多活動連線數,maxIdle屬性的值為最多的空閒連線個數,maxWait屬性設定生成一個有效的資料庫連線等待的時間,單位為秒,如果超過這個時間表示超時了,將丟擲超時異常。
(2)資料庫驅動放入tomcat下/lib目錄,重啟tomcat
(3)測試連線
加入標頭檔案
<%@ page import="java.sql.*" %>
<%@ page import="javax.naming.*" %>
<%@ page import="javax.sql.DataSource"%>
<%
DataSource ds = null;
//得到一個上下文物件(javax.naming.InitialContext),以提供命名和查詢服務
Context initCtx = new InitialContext();
//通過新的上下文物件查詢到環境物件,通過環境物件找到資料連線池物件。在得到資料庫連線池物件後作型別強制轉換,才能使用
// javax.sql.DataSource的getConnection()方法得到一個數據庫連線
ds = (DataSource)initCtx.lookup("java:comp/env/jdbc/mysqlds");
Connection conn=ds.getConnection();
Statement sql=conn.createStatement();
String sqlStr="select ID from table2";
ResultSet rs=sql.executeQuery(sqlStr);
%>
<table border="1">
<%
while(rs.next()){ %>
<tr><td><%=rs.getString("ID")%></td></tr>
<%
}
conn.close();%>
</table>
注意:在訪問完資料庫後應使用Connection的close()方法,以利於將Connection返回到資料庫連線池,使用Connection恢復空閒狀態。