jsp資料庫
1. jsp如何連接資料庫
1、先打開我們編輯運行JSP的開發環境,我們新建一個java web項目。
2. 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();
3. jsp一般用什麼資料庫
做練習一般用Mysql,小企業網站一般用Sql Server,大型的網站一般用oracle。
如果你是個新人,建議你學習的時候用Mysql來練手。
有問題可以找我。呵呵
4. JSP 資料庫操作
因為是靜態方法,也那麼用啊。
凡是用static聲明過的都直接用。
Database.releaseConnection(con);
參數就是你的連接對象,不是調用過Database.getConnection()了嗎,把調用這個的對象放到裡面就行了。
Connection con = Database.getConnection();
…… //資料庫操作
Database.releaseConnection(con);//關閉連接
5. jsp用什麼資料庫
jsp可以調用幾乎所有的資料庫,sql server, mysql, db2, oracle等。
sql server怎麼會是.net設計的? 只是sql server2005可以調用.net的程序集而已。sqlserver是很不錯的資料庫。
但總的來說,jsp還是用mysql好。這兩者結合比較密切,jsp有相關的sdk來調用。開發起來快。
6. jsp,資料庫
package com.runoob.test;
import java.sql.*;
public class MySQLDemo {
// JDBC 驅動名及資料庫 URL
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost:3306/RUNOOB";
// 資料庫的用戶名與密碼,需要根據自己的設置 static final String USER = "root"; static final String PASS = "123456";
public static void main(String[] args) { Connection conn = null; Statement stmt = null; try{
// 注冊 JDBC 驅動 Class.forName("com.mysql.jdbc.Driver");
// 打開鏈接 System.out.println("連接資料庫..."); conn = DriverManager.getConnection(DB_URL,USER,PASS);
// 執行查詢 System.out.println(" 實例化Statement對..."); stmt = conn.createStatement(); String sql; sql = "SELECT id, name, url FROM websites"; ResultSet rs = stmt.executeQuery(sql);
// 展開結果集資料庫 while(rs.next()){
// 通過欄位檢索 int id = rs.getInt("id"); String name = rs.getString("name"); String url = rs.getString("url");
// 輸出數據 System.out.print("ID: " + id); System.out.print(", 站點名稱: " + name); System.out.print(", 站點 URL: " + url); System.out.print("\n");
}
// 完成後關閉 rs.close(); stmt.close(); conn.close();
}catch(SQLException se){
// 處理 JDBC 錯誤 se.printStackTrace();
}catch(Exception e){
// 處理 Class.forName 錯誤 e.printStackTrace();
}finally{
// 關閉資源 try{ if(stmt!=null) stmt.close();
}catch(SQLException se2){
}// 什麼都不做 try{ if(conn!=null) conn.close();
}catch(SQLException se){ se.printStackTrace();
}
} System.out.println("Goodbye!");
}
}
7. 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方法。
8. 在jsp中使用資料庫
pst=myCon.prepareStatement(sql);//通過數據連接得到prepareStatement來執行SQL語句.其中傳入Sql語句字元串參數
rs=pst.executeQuery();//執行查詢,將返回結果放入ResultSetrs結果集中
if(rs.next())
{
bool=true;
}
//rs.next()是否有下一個數據,如果有bool設置為真,否則還是等於初始值.
然後返回結果.
具體實現了檢查用戶信息是否存在.
select * from td_user where uname='"+username+"' and upass='"+userpass"
上面的SQL語句是查詢所有信息在td_user表,但是uname=username還有pass = userpass
9. jsp中如何獲得資料庫的值
最簡單的JSP頁面中的資料庫操作方法:
<%@ page
language="java"
contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"
%>
<%@page import="java.sql.*"%>
<center>
<H1> <font color="blue" size="12">管理中心</font></H1>
<HR />
<table width="80%" border="1">
<tr>
<th>ID</th>
<th>書名</th>
<th>作者</th>
<th>價格</th>
<th>刪除</th>
</tr>
<%
// 資料庫的名字
String dbName = "zap";
// 登錄資料庫的用戶名
String username = "sa";
// 登錄資料庫的密碼
String password = "123";
// 資料庫的IP地址,本機可以用 localhost 或者 127.0.0.1
String host = "127.0.0.1";
// 資料庫的埠,一般不會修改,默認為1433
int port = 1433;
String connectionUrl = "jdbc:sqlserver://" + host + ":" + port + ";databaseName=" + dbName + ";user=" + username
+ ";password=" + password;
//
//聲明需要使用的資源
// 資料庫連接,記得用完了一定要關閉
Connection con = null;
// Statement 記得用完了一定要關閉
Statement stmt = null;
// 結果集,記得用完了一定要關閉
ResultSet rs = null;
try {
// 注冊驅動
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
// 獲得一個資料庫連接
con = DriverManager.getConnection(connectionUrl);
String SQL = "SELECT * from note";
// 創建查詢
stmt = con.createStatement();
// 執行查詢,拿到結果集
rs = stmt.executeQuery(SQL);
while (rs.next()) {
%>
<tr>
<td>
<%=rs.getInt(1)%>
</td>
<td>
<a href="prepareupdate?ID=<%=rs.getInt("ID")%>" target="_blank"><%=rs.getString(2)%></a>
</td>
<td>
<%=rs.getString(3)%>
</td>
<td>
<%=rs.getString(4)%>
</td>
<td>
<a href="delete?ID=<%=rs.getInt("ID")%>" target="_blank">刪除</a>
</td>
</tr>
<%
}
} catch (Exception e) {
// 捕獲並顯示異常
e.printStackTrace();
} finally {
// 關閉我們使用過的資源
if (rs != null)
try {
rs.close();
} catch (Exception e) {}
if (stmt != null)
try {
stmt.close();
} catch (Exception e) {}
if (con != null)
try {
con.close();
} catch (Exception e) {}
}
%>
</table>
<a href="insert.jsp">添加新紀錄</a>
</center>