1. 准備工作
好了,第一步是下載JDBC驅動,我們可以去http://dev.mysql.com/downloads/connector/j /3.1.html下載。目前最新版本的JDBC驅動版本為3.1.10 。下載文件為:mysql-connector-java-3.1.10.zip。直接解壓即可。我們只需要mysql-connector-java- 3.1.10-bin.jar文件和mysql-connector-java-3.1.10-bin-g.jar文件,把那兩個文件放在某個地方,我們可以放在安裝目錄(如:C:j2sdklib)裡。下一步就是設置環境變量,設置classpath的值為:
.;C:j2sdklib ools.jar;
C:j2sdklibmysql-connector-java-3.1.10-bin.jar;
C:j2sdklibmysql-connector-java-3.1.10-bin-g.jar
配置完環境變量後還有很重要一步就是為JSP連接數據庫配置驅動,這個很簡單,就是把mysql-connector-java-3.1.10- bin.jar拷到下列文件夾裡就行了(假設你的Tomcat裝在C盤跟目錄下:C:Tomcat 5.0)
C:Tomcat 5.0commonlib
2. 建立數據庫
關於下載及安裝Mysql數據庫可以參閱:http://www.numb1.com/com/php/phpsetup.htm
下一步就是建立數據庫,首先從CMD(即DOS)進入mysql,新建一數據庫,命令如下:
mysql> create database numb1;
進入新建的數據庫:
mysql> use numb1
新建一表格:
mysql> CREATE TABLE `lyb` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(20) default NULL,
`mail` varchar(30) default NULL,
`qq` varchar(15) default NULL,
`txt` text,
PRIMARY KEY (`id`)
);
插入數據
mysql> insert into lyb values(,奶油,[email protected],191106245,你好啊,給你留言,呵呵);
mysql> insert into lyb values(,樂凱,[email protected],11225032,我也來說兩句);
然後
mysql> exit
C:> exit
就OK了
3. 連接數據庫
下面一步也就是本文最精彩部分,前面我們所做的都是為下一步准備的,那就是連接數據庫,可以把下列代碼村為*.jsp文件,放到TOMCAT運行看看結果
<%@ page contentType="text/html; charset=GBK" language="java" import="java.sql.*" errorPage=""%>
<center><b>如果您看到下面表格內的內容,就說明連接數據庫成功!</b>< /center><br><br>
<table width="720" border="1" align="center" cellspacing="0">
<tr>
<th>ID</th>
<th>昵稱</th>
<th>E-mail</th>
<th>QQ</th>
<th>留言內容</th>
</tr>
<%
Class.forName("com.mysql.jdbc.Driver").newInstance(); //org.gjt.mm.mysql.Driver
String u ="jdbc:mysql://localhost/numb1?user=root&password=";//useUnicode=true&characterEncoding=gb2312";
java.sql.Connection con = java.sql.DriverManager.getConnection(u);
java.sql.Statement statement =con.createStatement();
String sql="select * from lyb";
java.sql.ResultSet rs = statement.executeQuery(sql);
while(rs.next()) {%>
<tr>
<td><div align="center"><%=rs.getString(1)%> </div></td>
<td><div align="center"><%=rs.getString(2)%> </div></td>
<td><div align="center"><%=rs.getString(3)%> </div></td>
<td><div align="center"><%=rs.getString(4)%> </div></td>
<td><div align="center"><%=rs.getString(5)%> </div></td>
</tr>
<%}%> </table>
<%out.print("<br><br><center>數據庫操作成功</center>");%>
<%
rs.close();
statement.close();
con.close();
%>
簡單說明幾個地方
Class.forName("com.mysql.jdbc.Driver").newInstance(); //org.gjt.mm.mysql.Driver
com.mysql.jdbc.Driver可以替換為org.gjt.mm.mysql.Driver
String u ="jdbc:mysql://localhost/numb1?user=root&password=";
確認你的數據庫名為numb1,數據庫用戶名為:root(系統默認)數據庫密碼為空
數據庫連接到這裡就結束了。還有個問題就是當你運行上面的程序,運行結果出現的可能是亂碼,著是由於JAVA的編碼與Mysql有所差別所致,我們可以采用下列方法解決。
4.亂碼的處理
第一種方法:
修改String u ="jdbc:mysql://localhost/numb1?user=root&password="為:String u ="jdbc:mysql://localhost/numb1?user=root&password=&useUnicode=true&characterEncoding=gb2312";
如果MySQL版本是4.1以上的話,“useUnicode=true&characterEncoding=gb2312”加不加都可以,如果不能解決問題的話我們就采用第二中方法。
第二種方法:
先定義一函數
<%!
public String getStr(String s){
String str=s;
try{
byte b[]=str.getBytes("ISO-8859-1");
str=new String(b);
return str;
}
catch(Exception e){return null;}
}
%>
我們把從數據庫裡所讀取的數據通過此函數處理一下代碼如下:
<%@ page contentType="text/html; charset=GBK" language="java" import="java.sql.*" errorPage=""%>
<%!
public String getStr(String s){
String str=s;
try{
byte b[]=str.getBytes("ISO-8859-1");
str=new String(b);
return str;
}
catch(Exception e){return null;}
}
%><center><b>如果您看到下面表格內的內容,就說明連接數據庫成功!</b>< /center><br><br>
<table width="720" border="1" align="center" cellspacing="0">
<tr>
<th>ID</th>
<th>昵稱</th>
<th>E-mail</th>
<th>QQ</th>
<th>留言內容</th>
</tr>
<%
Class.forName("com.mysql.jdbc.Driver").newInstance(); //org.gjt.mm.mysql.Driver
String u ="jdbc:mysql://localhost/numb1?user=root&password=";//useUnicode=true&characterEncoding=gb2312";
java.sql.Connection con = java.sql.DriverManager.getConnection(u);
java.sql.Statement statement =con.createStatement();
String sql="select * from lyb";
java.sql.ResultSet rs = statement.executeQuery(sql);
好了到這裡就徹底結束了,如果還是無法正常顯示的話,請仔細檢查其他設置。或查閱相關資料。
留言板下(薦):http://www.numb1.com/download/download.php?id=jm1
while(rs.next()) {%>
<tr>
<td><div align="center"><%=getStr(rs.getString(1))%> </div></td>
<td><div align="center"><%=getStr(rs.getString(2))%> </div></td>
<td><div align="center"><%=getStr(rs.getString(3))%> </div></td>
<td><div align="center"><%=getStr(rs.getString(4))%> </div></td>
<td><div align="center"><%=getStr(rs.getString(5))%> </div></td>
</tr>
<%}%> </table>
<%out.print("<br><br><center>數據庫操作成功</center>");%>
<%
rs.close();
statement.close();
con.close();
%>