輕鬆應對JSP串連MySQL資料庫問題

來源:互聯網
上載者:User

  當您面臨JSP串連MySQL資料庫問題,你首先需要在MySQL資料庫裡建立一username表,表裡面建立兩個字元型的欄位,欄位名分別為:uid,pwd,然後插入幾條測試資料。


  以下用兩種方式來實現JSP串連MySql資料庫


  第一種方式,用JSP實現:


<%@ page contentType="text/html;
charset=gb2312" language="java"
 import="java.sql.*"%>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<%//*******************************
****************
 JDBC_ODBC串連MySql資料庫,不需要設定資料來源***********
**********************/ 
 //********** 資料庫連接代碼 開始 ******/  
//以下幾項請自行修改String server="localhost";       
//MYSQL 伺服器的地址String dbname="test";          
 //MYSQL 資料庫的名字String user="root";               
//MYSQL 資料庫的登入使用者名稱String pass="chfanwsp";           
//MYSQL 資料庫的登入密碼String port="3306";   
//SQL Server 服務器的連接埠號碼,
預設為1433//資料庫連接字串
 String url ="jdbc:mysql://"+server+":"+port+"/"+dbname+"?
user="+user+"&passWord="+pass+"&useUnicode
=true&characterEncoding=GB2312";
//載入驅動程式Class.forName("org.gjt.mm.mysql.Driver").newInstance();
//建立串連Connection conn= DriverManager.getConnection(url);
//建立語句對象Statement stmt=conn.createStatement
(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
// ****     資料庫連接代碼 結束 ******* 
  String sql="select * from username";
ResultSet rs=stmt.executeQuery(sql);
//rs.first();while(rs.next()){out.print("使用者名稱:");
out.print(rs.getString("uid")+" 密碼:");
out.println(rs.getString("pwd")+"<br>");}
rs.close();stmt.close();conn.close();%>


  第二種方式,用JavaBean來實現:


DBConnMySql.java編譯以後的Class檔案應該放在Web-INF\classes\conn目錄下。


package conn;    //匯入包import java.sql.*;       
//匯入資料庫操作的類public class DBConnMySql           
//構造方法,初始化{private Connection conn;       
//連線物件private Statement stmt;   
//語句對象private ResultSet rs;   
//結果集對象private String MySqldriver;
//MYSQL Server驅動程式字串private String MySqlURL;
//MYSQL Server連接字串//*********************************
用  org.gjt.mm.mysql.Driver 驅動
*  該方法取得串連所需各種參數,組成連接字串,
然後再建立串連*  server;dbname,user,pass,port
分別表示MYSQL 伺服器的地址,
*  資料庫,使用者名稱,密碼,連接埠
**********************************/
public Connection getConnToMySql
(String server,String dbname,String user,String pass,String port)
{//MYSQl驅動程式MySqldriver = "org.gjt.mm.mysql.Driver";   
MySqlURL = "jdbc:mysql://";         
//連接字串一部分try{//完整的連接字串MySqlURL
=MySqlURL+server+":"+port+"/"+dbname+"?user=
"+user+"&password="+pass+"&useUnicode
=true&characterEncoding=GB2312";
Class.forName(MySqldriver);conn
= DriverManager.getConnection(MySqlURL);}
catch(Exception e){System.out.println
("操作資料庫出錯,請仔細檢查");
//System.err.println(e.getMessage());}return conn;}   
//關閉資料庫連接public void close(){try{//rs.close();
//stmt.close();conn.close();}catch(SQLException
sqlexception){sqlexception.printStackTrace();}}}


  這個檔案只是實現了資料庫的串連,下面再寫一個測試檔案,就是用SQL語句從資料庫裡查詢出記錄,以驗證我們資料庫的串連是否成功。


connmysql.jsp檔案原始碼如下:


<meta http-equiv="Content-Type" content="text/html;
charset=gb2312"><%@ page contentType="text/html;
charset=gb2312" language="java" import="java.sql.*"  %>
<jsp:useBean id="DBConn" scope="page" class="conn.DBConnMySql"/>
<% //以下幾項請自行修改String server="localhost";       
//MYSQL 伺服器的地址String dbname="test";      
 //MYSQL 資料庫的名字String user="root";           
//MYSQL 資料庫的登入使用者名稱String pass="chfanwsp";       
//MYSQL 資料庫的登入密碼String port="3306";          
 //SQL Server 服務器的連接埠號碼,預設為1433Connection
conn=DBConn.getConnToMySql
(server,dbname,user,pass,port);
Statement stmt=conn.createStatement
(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
String sql="select * from username";
String sql1="insert into username (uid,pwd) values
('夢想年華','夢想年華')";stmt.executeUpdate(sql1);
ResultSet rs=stmt.executeQuery(sql);while(rs.next())
{out.print("使用者名稱:");out.print(rs.getString("uid")+" 密碼:");
out.println(rs.getString("pwd")+"<br>");}
//rs.close();//stmt.close();//conn.close();DBConn.close();%>

 

  請作者聯絡本站,及時附註您的姓名。聯絡郵箱:edu#chinaz.com(把#改為@)。



相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。