- 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-hant/n/127158.html