- 1、在jsp編程中如何連接資料庫?
- 2、jsp連接資料庫方法(詳細的)
- 3、闡述JSP頁面直接訪問資料庫的主要步驟以及會使用到那些類和方法(假定使用MySql資料庫)
- 4、簡述JSP的工作原理和訪問資料庫的一般步驟
- 5、jsp怎麼連接資料庫
- 6、【滿分急求】JSP資料庫操作過程是什麼?
用JDBC技術
創建資料庫連接,分為以下幾步:
1.裝載並註冊資料庫的JDBC驅動程序
2.取得資料庫連接
3.建立Statement 對象
4.準備並執行調用SQL語句
5.處理ResultSet中的記錄集
6.釋放資源
第一步
載入驅動程序
try{ //裝載MySQL資料庫驅動
Class.forName(“com.mysql.jdbc.Driver”);
}
catch(ClassNotFoundException e)
{
e.printStackTrace();
}
注意:在使用JDBC之前,要在文件前導入有關SQL的類即
import java.sql.*
第二步
取得資料庫連接
try{
String url=”jdbc:mysql://localhost:3306/student;
String user=”root”;
String password=”1234″;
con=DriverManager.getConnection(url,user,password);
}
catch(SQLException e)
{
e.printStackTrace();
}
第三步
建立Statement 對象
try{
Statement sql=con.createStatement();
}
catch(SQLException e)
{
e.printStackTrace();
}
第四步
執行各種SQL語句
try{
ResultSet rs=sql.executeQuery(
“select * from student”);
}
catch(SQLException e)
{
e.printStackTrace();
}
第五步
獲取查詢結果
ResultSet rs=sql.executeQuery(
“select * from student”);
while(rs.next())
{
rs.getString(2)或者是rs.getString(“name”);
rs.getInt(3)或者是rs.getInt(“age”);
}
注意
只有select語句才會有結果集返回;
ResultSet對象一次只能看到一個數據行
使用next()方法走到下一數據行
獲得一行數據後,ResultSet對象可以使用getXxx()方法獲得欄位值,將位置索引或欄位名傳遞給get第六步
關閉創建的各個對象(後打開的先關)
rs.close();
sql.close();
con.close();Xxx方法()即可。
上面的給出了jsp內嵌java的最初模式,現在一般是三層結構了即MVC結構,就這個例子我來給你解釋下是怎麼做的,java對連接資料庫提供了統一的介面,各個資料庫廠商根據提供的介面規範開發自己的連接方法順序如下:1、用Class.forName()方法載入驅動:Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver”).newInstance(); 黑體部分為資料庫廠商自己開發的驅動。2、定義好連接資料庫的url地址,連接串String url=”jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs”;黑體部分為固定寫法不用理會。回到你最初的問題,如何創建資料庫,這裡你可以去baidu下每個資料庫創建的方法,一般資料庫安裝的時候都有默認的資料庫名,和對應的系統管理員工號和密碼,DatabaseName=pubs這裡說明sql serv 2000中建立了一個名字叫pubs的資料庫jdbc:microsoft:sqlserver://localhost:1433固定寫法唯一不同的是1433埠號,可能你在安裝sql serv 2000的時候改變了該埠號為1500那麼這裡就應該為jdbc:microsoft:sqlserver://localhost:15003、定義好DatabaseName=pubs的登錄用戶名和密碼 String user=”sa”;用戶名
String password=””;密碼4、創建Connection對象,通過調用DriverManager.getConnection方法獲得。 Connection conn= DriverManager.getConnection(url,user,password);黑體部分就是你定義好的連接串,用戶名,密碼,不可改變順序。到這裡為止資料庫就連接上了,但是連接好了資料庫還要做點什麼,比如列印出來,接下看。5、通過獲得的Connection對象conn創建Statement 對象stmtStatement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);黑體部分是定義ResultSet的一些屬性的,具體含義可以參考JDK的api。6、定義好你準備取得數據的sql語句,比如下面 select * from test說明想從test表中取得所有的數據,關於sql語句可以去查找相關資料庫資料。 String sql=”select * from test”;定義好語句後,就用上一步創建好的Statement 對象stmt來執行這個sql語句,並返回一個ResultSet對象。
ResultSet rs=stmt.executeQuery(sql);執行完這步後rs中已經取得了test表所有的數據,那麼接下來要展現在網頁上。7、rs.next()對你取得的記錄集做一個循環直到沒有值為止,rs.getString(1)代表你test表中的第一個欄位rs.getString(2)代表你test中的第二個欄位,如果還有更多欄位可以繼續rs.getString(3)..rs.getString(N) while(rs.next()) {%
您的第一個欄位內容為:%=rs.getString(1)%
您的第二個欄位內容為:%=rs.getString(2)%
%}%8、當所有數據展現完畢,調用close()方法將所有資源關閉。 rs.close();
stmt.close();
conn.close();回顧下大致過程:載入驅動 Class.forName();定義好相關的數據,調用DriverManager.getConnection(driver,user,password)獲得一個資料庫連接conn通過conn創建Statement對象stmt,conn.createStatement();通過stmt執行定義好的sql語句獲得數據集ResultSet rs=stmt.executeQuery(「select * from test」);通過rs.next()方法循環遍曆數據集的數據,通過rs.getString(1)獲得第一條數據的第一個欄位內容,這裡要注意的是getString是對應資料庫是字元類型,如果test表的第一個欄位不是字元類型則用rs.getInt(1)獲得。展現完畢後關閉所有資源conn stmt rs close方法。
%@ page contentType=”text/html;charset=gbk”%
%@ page import=”java.sql.*”%
html
body
%
Class.forName(“com.mysql.jdbc.Driver”);
String url =”jdbc:MySql://localhost/test?user=rootpassword=komoe”;
Connection conn= DriverManager.getConnection(url);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
String sql=”select * from table_01″;
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()) {%br /
%=rs.getString(1)%br /
%=rs.getString(2)%br /
%}%
%out.print(“br /”+”資料庫操作成功,恭喜你”);%
%rs.close();
stmt.close();
conn.close();
%
/body
/html
實際開發中以MVC設計模式為主,強制性地使應用程序的輸入、處理和輸出分開。
現在的JSP頁面中的代碼已經減少了很多,只是簡單地完成了輸出,實際上在開發中,JSP中最好只包含一下3中類型的代碼:
•接收屬性:接收從Servlet傳遞過來的屬性。
•判斷語句:判斷傳遞到JSP中的屬性是否存在。
•輸出內容:使用迭代或者VO進行輸出。
在JSP頁面中唯一允許導入的包只能是java.util包,值要能把握住這一點,即可開發出一個簡潔、清晰的JSP頁面。
訪問資料庫要用到jdbc技術。
首先載入驅動:Class.forName(“驅動包.類名稱”);
然後獲得連接:Connection conn = DriverManager.getConnection(“連接路徑,埠,資料庫名”,”資料庫用戶名”,”密碼”);
然後獲得PreparedStatement:PreparedStatement pstmt = conn.prepareStatement(“sql語句”);
之後就按照檢索和增刪改的區別分別執行不同的代碼。
1、jsp是java服務端動態網頁技術,主要應用於網頁構建,理論上講不應該在頁面中直接連資料庫。合理的做法是先構建一個java後端,然後在JAVA後端中通過jdbc連接sqlserver。
2、如果一定要在jsp頁面中連資料庫也是可以的。jsp中有專門的sql標籤可以連接資料庫進行操作,這是jstl的內容,需要導入相應的資料庫驅動包。
3、jsp的內容相對來說技術難度都不算特別高,學習起來還是比較容易的。
4、希望對你有幫助。祝你學有所得。
一般都要四步,
第一步 載入資料庫驅動類文件按
第二步 建立連接打開資料庫
第三步 執行SQL
第四步 就是接受結果集並關閉資料庫
例如: try {
Connection con;
Statement stmt;
Class.forName(“com.mysql.jdbc.Driver”);
DriverManager.registerDriver (new com.mysql.jdbc.Driver());
String dbUrl=
“jdbc:mysql://localhost:3306/database(添加你的資料庫名)?UseUnicode=truecharacterEnconding=gbk”;
String dbUser=”root”;//你資料庫用戶名
String dbPwd=”root”;//你的資料庫密碼
con = java.sql.DriverManager.getConnection(dbUrl,dbUser,dbPwd);
stmt=con.createStatement();
stmt.executeUpdate(“Sql語句”);//當然查詢語句用的函數executeQuery()
stmt.close();
con.close();
}catch (Exception e)
{
out.println(e.getMessage());
}
原創文章,作者:TYADT,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/127158.html