jsp資料庫管理
Ⅰ jsp連接資料庫方法(詳細的)
上面的給出了jsp內嵌java的最初模式,現在一般是三層結構了即MVC結構,就這個例子我來給你解釋下是怎麼做的,java對連接資料庫提供了統一的介面,各個資料庫廠商根據提供的介面規范開發自己的連接方法順序如下:1、用Class.forName()方法載入驅動:Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); 黑體部分為資料庫廠商自己開發的驅動。2、定義好連接資料庫的url地址,連接串Stringurl="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";黑體部分為固定寫法不用理會。回到你最初的問題,如何創建資料庫,這里你可以去下每個資料庫創建的方法,一般資料庫安裝的時候都有默認的資料庫名,和對應的系統管理員工號和密碼,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方法。
Ⅱ jsp操作資料庫
可以用JavaBean的方法來實現連接資料庫,方便快捷
配置:tomcat+SQLserver+jsp
首先在這個文件夾下寫Java代碼
..你的tomcat安裝文件夾\webapps\你的站點名\WEB-INF\classes文件夾下conn.java
內容如下:
package test.db;//導入所需包
import java.io.*;
import java.sql.*;
public class conn {
//聲明類成員
public Connection con;
public String URL = "jdbc:odbc:iot";
public String Message;
public boolean connection() {
try{
//載入JDBC-ODBC橋驅動程序
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException ex) {
Message = ex.getMessage();
System.exit(-1);
}
try {
//試圖通過JDBC-ODBC橋建立一個與iot數據源的連接
con = DriverManager.getConnection(URL);
//資料庫連接成功
return true;
}
catch(SQLException ex) {
Message = ex.getMessage();
return false;
}
}
//關閉資料庫連接
public boolean close() {
try{
con.close();
return true;
}
catch(Exception ex) {
Message = ex.getMessage();
return false;
}
}
//執行sql查詢語句,返回執行結果集
public ResultSet exeSQL(String sqlstr) {
try{
connection();
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(sqlstr);
return rs;
}catch(Exception ex) {
Message = ex.getMessage();
}
return null;
}
//從指定的結果集rs中返回某欄位str的值
public String getString(ResultSet rs,String str) {
try {
return rs.getString(str);
}catch(Exception ex){
Message = ex.getMessage();
}
return null;
}
}
編譯運行這個Java代碼
第二步,寫一個jsp代碼,命名為conn.jsp放在..你的tomcat安裝文件夾\webapps\你的站點名\inc文件夾下
<%@ page import= "java.sql.*"%>
<jsp:useBean id="dbBean" scope ="session" class = "test.db.conn" />
<%
dbBean.connection();
Connection conn = dbBean.con;
Statement stmt = conn.createStatement();
String sql;
ResultSet rs;
ResultSet rs1;
ResultSet rs2;
ResultSet rs3;
String sql1;
String sql2;
String sql3;
%>
以上是配置JavaBean,調用conn.jsp來連接資料庫,加入這段代碼
<%@ include file="../inc/conn.jsp"%>
再說說curd
創建(Create)
、更新(Update)、讀取(Read)和刪除(Delete)
SQL中有四種基本的DML操作:INSERT,SELECT,UPDATE和DELETE。由於這是大多數SQL用戶經常用到的,我們有必要在此對它們進行一一說明。在圖1中我們給出了一個名為EMPLOYEES的表。其中的每一行對應一個特定的雇員記錄。
INSERT語句
用戶可以用INSERT語句將一行記錄插入到指定的一個表中。例如,要將雇員John Smith的記錄插入到本例的表中,可以使用如下語句:
INSERT INTO EMPLOYEES VALUES ('Smith','John','1980-06-10','Los Angles',16,45000);
通過這樣的INSERT語句,系統將試著將這些值填入到相應的列中。這些列按照我們創建表時定義的順序排列。在本例中,第一個值「Smith」將填到第一個列LAST_NAME中;第二個值「John」將填到第二列FIRST_NAME中……以此類推。
SELECT語句
SELECT語句可以從一個或多個表中選取特定的行和列。因為查詢和檢索數據是資料庫管理中最重要的功能,所以SELECT語句在SQL中是工作量最大的部分。實際上,僅僅是訪問資料庫來分析數據並生成報表的人可以對其他SQL語句一竅不通。
SELECT語句的結果通常是生成另外一個表。在執行過程中系統根據用戶的標准從資料庫中選出匹配的行和列,並將結果放到臨時的表中。在直接SQL(direct SQL)中,它將結果顯示在終端的顯示屏上,或者將結果送到列印機或文件中。也可以結合其他SQL語句來將結果放到一個已知名稱的表中。
SELECT語句功能強大。雖然表面上看來它只用來完成本文第一部分中提到的關系代數運算「選擇」(或稱「限制」),但實際上它也可以完成其他兩種關系運算—「投影」和「連接」,SELECT語句還可以完成聚合計算並對數據進行排序。
SELECT語句最簡單的語法如下:
SELECT columns FROM tables;
當我們以這種形式執行一條SELECT語句時,系統返回由所選擇的列以及用戶選擇的表中所有指定的行組成的一個結果表。這就是實現關系投影運算的一個形式。
UPDATE語句
UPDATE語句允許用戶在已知的表中對現有的行進行修改。
例如,我們剛剛發現Indiana Jones的等級為16,工資為$40,000.00,我們可以通過下面的SQL語句對資料庫進行更新(並清除那些煩人的NULL)。
UPDATE EMPLOYEES SET GRADE = 16, SALARY = 40000 WHERE FIRST_NAME = 'Indiana' AND LAST_NAME = 'Jones';
上面的例子說明了一個單行更新,但是UPDATE語句可以對多行進行操作。滿足WHERE條件的所有行都將被更新。如果,你想讓Boston辦事處中的所有職員搬到New York,你可以使用如下語句:
UPDATE EMPLOYEES SET BRANCH_OFFICE = 'New York' WHERE BRANCH_OFFICE = 'Boston';
如果忽略WHERE子句,表中所有行中的部門值都將被更新為'New York'。
UPDATE語句的語法流圖如下面所示:
UPDATE table
SET column = value [{, column = value}]
[ WHERE predicate [ { logical-connector predicate}]];
DELETE語句
DELETE語句用來刪除已知表中的行。如同UPDATE語句中一樣,所有滿足WHERE子句中條件的行都將被刪除。由於SQL中沒有UNDO語句或是「你確認刪除嗎?」之類的警告,在執行這條語句時千萬要小心。如果決定取消Los Angeles辦事處並解僱辦事處的所有職員,這一卑鄙的工作可以由以下這條語句來實現:
DELETE FROM EMPLOYEES WHERE BRANCH_OFFICE = 'Los Angeles';
如同UPDATE語句中一樣,省略WHERE子句將使得操作施加到表中所有的行。
DELETE語句的語法流圖如下面所示:
DELETE FROM table
[WHERE predicate [ { logical-connector predicate} ] ];
現在我們完成了數據操作語言(DML)的主要語句的介紹。
基本思路就是這樣,希望可以幫助到你,還有不清楚的可以和我網路聯系
Ⅲ 怎麼設置在JSP頁面登錄管理員後,可以修改資料庫中數據啊代碼
當然在進行這些操作之前應該有一個基類與資料庫進行鏈接,可以包括具體的往資料庫中添加、刪除、修改的函數,當把jsp頁面提交以後會按照各種需要自動調用相關的資料庫操作語句。
其中要可能用到javabean,servlet。
Ⅳ jsp mysql資料庫問題
為投票主題建一張表: 記錄所有投票主題的id和主題內容
再建一張表記錄所有主題下的選項內容: 分別是和投票主題id對應的id號 投票選項的內容 投票次數 just so so.(這樣做就將所有投票主題的投票選項存儲在一張表下 讀取時根據id 返回id=查詢id的項的投票選項內容)
這樣的設計就是實際應用中最常用的存儲方法,你的第2種方法對資料庫性能影響太大,會降低執行效率。
投票那個和你這個一樣,
實際應用中向表裡插數據是很正常的,但是頻繁建表對資料庫的性能安全,數據挖掘等等都是不利的。
Ⅳ 請問jsp怎麼實現一個按鈕連接資料庫,點擊後並把數據上傳上去。而且還可以實現檢索功能
我說一下連資料庫的事。
不建議直接在jsp中連接資料庫,一個是麻煩,要寫一大堆jdbc的代碼,還不好設置連接池進行管理。所以我建議還是使用ajax,在按鈕上添加事件,把表格數據Post到後端,由後端進行資料庫操作。
關於檢索的問題,可以通過js控制篩選,也可以使用ajax Post到後端由後端重新組織數據返回,局部刷新頁面即可。
講道理,前端是jsp,在數據處理這方面沒有後端擅長。像vue啊angular啊這些重前端的框架才擅長做這些事情。
Ⅵ JSP怎麼訪問SQL資料庫,怎麼讀取,要把資料庫文件放在哪裡
附加資料庫
打開SQL Server 2000中的「企業管理器」,然後展開本地伺服器,在「資料庫」數據項上單擊滑鼠右鍵,在彈出的快捷菜單中選擇「所有任務」/「附加資料庫」菜單項。
將彈出「附加資料庫」對話框,在該對話框中單擊後面那個按鈕,選擇所要附加資料庫的.mdf文件,單擊「確定」按鈕,即可完成資料庫的附加操作。
完成之後你就能在你企業管理器中看到你所導入的.mdf文件的資料庫了
Ⅶ jsp如何連接資料庫
1、先打開我們編輯運行JSP的開發環境,我們新建一個java web項目。
Ⅷ JSP對資料庫的基本操作
直接將你要的連接封裝成一個資料庫的連接類,在這個類中值完成資料庫的連接和關閉不做任何事情,要用的時候直接調用就是了,你說的<jsp:useBean id="db" class "bean.ConnDB" scope="session"/>....
JavaBean是一種符合特定規范的Java對象,在JavaBean中定義了一系列的屬性(也就是成員變數),並提供了訪問和設置這些屬性的公共方法(也就是getXXX和setXXX方法)。JavaBean可以作為共享數據存放在page、request、session和application范圍內。在JSP文件中,可以通過專門的標簽來定義或訪問JavaBean。例如:<jsp:useBean id="uuwoxin" scopo="page/request/session/application" class="BaiUser">(--使用BaiUser類實例化一個對象uuwoxin,相當於BaiUser uuwoxin=new BaiUser();--)
輸出一個JavaBean的某個屬性到頁面上的時候,可以使用<jsp:getProperty name="uuwoxin" property="password">(--相當於uuwoxin.getPassword();--)
設置一個JavaBean的某個屬性,可以使用<jsp:setProperty name="uuwoxin" property="password" value="uuwoxin_password">(--相當於uuwoxin.setPassword("uuwoxin_password");--)
用於實例化JavaBean對象的類是寫在後台的,比如Tomcat站點中WEB-INF/classes文件夾下,並且需要編譯成位元組碼文件(.class)。
struts框架中的ActionForm Bean就是一種典型的JavaBean。
深入了解JavaBean可以訪問:http://java.sun.com/procts/javabeans。
Ⅸ jsp資料庫連接
//導入JDBC相關類
import java.sql.*;
//導入MySQL的JDBC相關類
import org.gjt.mm.mysql.*;
public class MysqlExample{
Connection conn=null;//定義資料庫連接對象
Statement st=null;//定義資料庫執行象
//定義連接資料庫的方法
public void connectToMySQL(){
try{
Class.forName("org.gjt.mm.mysql.Driver");
/*載入JDBC驅動程序,如果找不到會出錯,如果頻繁的對資料庫進行操作,可以把
載入的內容寫在類開頭的static塊里,因為驅動只要載入一次就夠了,沒有必要在每次建立連接時載入驅動.
*/
/*
如果查找成功就嘗試連接資料庫,DriverManager的getConnection的方法有3個參數:
1.資料庫的URL,MySQL為jdbc:mysql://hostname.port/databasename
2.資料庫用戶名
3.資料庫密碼
以下的參數只是舉例而已
*/
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/person","root","");
//如果要用到事務,必須如下設置
/*
conn.setAutoCommit(false);
*/
System.out.println("OK");//只是便於自己查看是否連接成功了
}catch(Exception e){//捕獲錯誤
System.out.println(e.getMessage());
}
}
到此為止是完成了用connectToMySQL方法封裝了對資料庫的連接,當然你還可以對add,remove,query等方法對資料庫里操作進行封裝,最後就是一個定義一個方法connectClose(),調用close(),將st和conn關閉,當然在關閉conn之前記得conn.commit();